fast-agent-mcp 0.2.55__tar.gz → 0.2.56__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.55 → fast_agent_mcp-0.2.56}/PKG-INFO +3 -17
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/pyproject.toml +3 -7
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/src/mcp_agent/agents/base_agent.py +8 -5
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/src/mcp_agent/cli/commands/go.py +3 -3
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/src/mcp_agent/core/enhanced_prompt.py +1 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/src/mcp_agent/llm/providers/augmented_llm_bedrock.py +1 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/src/mcp_agent/llm/providers/augmented_llm_groq.py +58 -29
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/src/mcp_agent/llm/providers/augmented_llm_openai.py +4 -5
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/src/mcp_agent/mcp/mcp_aggregator.py +6 -7
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/.gitignore +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/LICENSE +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/README.md +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/examples/azure-openai/fastagent.config.yaml +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/examples/bedrock/fast-agent.config.yaml +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/examples/custom-agents/agent.py +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/examples/custom-agents/fastagent.config.yaml +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/examples/data-analysis/analysis-campaign.py +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/examples/data-analysis/analysis.py +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/examples/data-analysis/fastagent.config.yaml +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/examples/data-analysis/mount-point/WA_Fn-UseC_-HR-Employee-Attrition.csv +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/examples/mcp/elicitations/elicitation_account_server.py +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/examples/mcp/elicitations/elicitation_forms_server.py +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/examples/mcp/elicitations/elicitation_game_server.py +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/examples/mcp/elicitations/fastagent.config.yaml +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/examples/mcp/elicitations/fastagent.secrets.yaml.example +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/examples/mcp/elicitations/forms_demo.py +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/examples/mcp/elicitations/game_character.py +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/examples/mcp/elicitations/game_character_handler.py +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/examples/mcp/elicitations/tool_call.py +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/examples/mcp/mcp-filtering/fastagent.config.yaml +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/examples/mcp/mcp-filtering/fastagent.secrets.yaml.example +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/examples/mcp/mcp-filtering/mcp_server.py +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/examples/mcp/mcp-filtering/test_mcp_filtering.py +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/examples/mcp/state-transfer/agent_one.py +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/examples/mcp/state-transfer/agent_two.py +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/examples/mcp/state-transfer/fastagent.config.yaml +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/examples/mcp/state-transfer/fastagent.secrets.yaml.example +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/examples/mcp/vision-examples/cat.png +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/examples/mcp/vision-examples/example1.py +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/examples/mcp/vision-examples/example2.py +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/examples/mcp/vision-examples/example3.py +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/examples/mcp/vision-examples/fastagent.config.yaml +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/examples/otel/agent.py +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/examples/otel/agent2.py +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/examples/otel/docker-compose.yaml +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/examples/otel/fastagent.config.yaml +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/examples/researcher/fastagent.config.yaml +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/examples/researcher/researcher-eval.py +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/examples/researcher/researcher-imp.py +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/examples/researcher/researcher.py +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/examples/tensorzero/.env.sample +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/examples/tensorzero/Makefile +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/examples/tensorzero/README.md +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/examples/tensorzero/agent.py +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/examples/tensorzero/demo_images/clam.jpg +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/examples/tensorzero/demo_images/crab.png +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/examples/tensorzero/demo_images/shrimp.png +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/examples/tensorzero/docker-compose.yml +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/examples/tensorzero/fastagent.config.yaml +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/examples/tensorzero/image_demo.py +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/examples/tensorzero/mcp_server/Dockerfile +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/examples/tensorzero/mcp_server/entrypoint.sh +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/examples/tensorzero/mcp_server/mcp_server.py +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/examples/tensorzero/mcp_server/pyproject.toml +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/examples/tensorzero/simple_agent.py +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/examples/tensorzero/tensorzero_config/system_schema.json +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/examples/tensorzero/tensorzero_config/system_template.minijinja +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/examples/tensorzero/tensorzero_config/tensorzero.toml +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/examples/workflows/chaining.py +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/examples/workflows/evaluator.py +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/examples/workflows/fastagent.config.yaml +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/examples/workflows/graded_report.md +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/examples/workflows/human_input.py +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/examples/workflows/orchestrator.py +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/examples/workflows/parallel.py +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/examples/workflows/router.py +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/examples/workflows/short_story.md +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/examples/workflows/short_story.txt +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/hatch_build.py +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/src/mcp_agent/__init__.py +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/src/mcp_agent/agents/__init__.py +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/src/mcp_agent/agents/agent.py +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/src/mcp_agent/agents/workflow/__init__.py +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/src/mcp_agent/agents/workflow/chain_agent.py +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/src/mcp_agent/agents/workflow/evaluator_optimizer.py +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/src/mcp_agent/agents/workflow/iterative_planner.py +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/src/mcp_agent/agents/workflow/orchestrator_agent.py +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/src/mcp_agent/agents/workflow/orchestrator_models.py +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/src/mcp_agent/agents/workflow/orchestrator_prompts.py +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/src/mcp_agent/agents/workflow/parallel_agent.py +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/src/mcp_agent/agents/workflow/router_agent.py +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/src/mcp_agent/app.py +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/src/mcp_agent/cli/__init__.py +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/src/mcp_agent/cli/__main__.py +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/src/mcp_agent/cli/commands/check_config.py +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/src/mcp_agent/cli/commands/quickstart.py +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/src/mcp_agent/cli/commands/server_helpers.py +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/src/mcp_agent/cli/commands/setup.py +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/src/mcp_agent/cli/commands/url_parser.py +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/src/mcp_agent/cli/constants.py +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/src/mcp_agent/cli/main.py +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/src/mcp_agent/cli/terminal.py +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/src/mcp_agent/config.py +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/src/mcp_agent/console.py +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/src/mcp_agent/context.py +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/src/mcp_agent/context_dependent.py +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/src/mcp_agent/core/__init__.py +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/src/mcp_agent/core/agent_app.py +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/src/mcp_agent/core/agent_types.py +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/src/mcp_agent/core/direct_decorators.py +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/src/mcp_agent/core/direct_factory.py +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/src/mcp_agent/core/error_handling.py +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/src/mcp_agent/core/exceptions.py +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/src/mcp_agent/core/fastagent.py +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/src/mcp_agent/core/interactive_prompt.py +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/src/mcp_agent/core/mcp_content.py +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/src/mcp_agent/core/mermaid_utils.py +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/src/mcp_agent/core/prompt.py +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/src/mcp_agent/core/request_params.py +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/src/mcp_agent/core/usage_display.py +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/src/mcp_agent/core/validation.py +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/src/mcp_agent/event_progress.py +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/src/mcp_agent/executor/__init__.py +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/src/mcp_agent/executor/executor.py +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/src/mcp_agent/executor/task_registry.py +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/src/mcp_agent/executor/workflow_signal.py +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/src/mcp_agent/human_input/__init__.py +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/src/mcp_agent/human_input/elicitation_form.py +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/src/mcp_agent/human_input/elicitation_forms.py +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/src/mcp_agent/human_input/elicitation_handler.py +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/src/mcp_agent/human_input/elicitation_state.py +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/src/mcp_agent/human_input/form_fields.py +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/src/mcp_agent/human_input/handler.py +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/src/mcp_agent/human_input/simple_form.py +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/src/mcp_agent/human_input/types.py +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/src/mcp_agent/llm/__init__.py +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/src/mcp_agent/llm/augmented_llm.py +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/src/mcp_agent/llm/augmented_llm_passthrough.py +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/src/mcp_agent/llm/augmented_llm_playback.py +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/src/mcp_agent/llm/augmented_llm_silent.py +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/src/mcp_agent/llm/augmented_llm_slow.py +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/src/mcp_agent/llm/memory.py +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/src/mcp_agent/llm/model_database.py +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/src/mcp_agent/llm/model_factory.py +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/src/mcp_agent/llm/prompt_utils.py +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/src/mcp_agent/llm/provider_key_manager.py +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/src/mcp_agent/llm/provider_types.py +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/src/mcp_agent/llm/providers/__init__.py +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/src/mcp_agent/llm/providers/anthropic_utils.py +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/src/mcp_agent/llm/providers/augmented_llm_aliyun.py +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/src/mcp_agent/llm/providers/augmented_llm_anthropic.py +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/src/mcp_agent/llm/providers/augmented_llm_azure.py +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/src/mcp_agent/llm/providers/augmented_llm_deepseek.py +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/src/mcp_agent/llm/providers/augmented_llm_generic.py +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/src/mcp_agent/llm/providers/augmented_llm_google_native.py +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/src/mcp_agent/llm/providers/augmented_llm_google_oai.py +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/src/mcp_agent/llm/providers/augmented_llm_openrouter.py +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/src/mcp_agent/llm/providers/augmented_llm_tensorzero_openai.py +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/src/mcp_agent/llm/providers/augmented_llm_xai.py +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/src/mcp_agent/llm/providers/google_converter.py +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/src/mcp_agent/llm/providers/multipart_converter_anthropic.py +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/src/mcp_agent/llm/providers/multipart_converter_openai.py +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/src/mcp_agent/llm/providers/openai_multipart.py +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/src/mcp_agent/llm/providers/openai_utils.py +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/src/mcp_agent/llm/providers/sampling_converter_anthropic.py +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/src/mcp_agent/llm/providers/sampling_converter_openai.py +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/src/mcp_agent/llm/sampling_converter.py +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/src/mcp_agent/llm/sampling_format_converter.py +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/src/mcp_agent/llm/usage_tracking.py +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/src/mcp_agent/logging/__init__.py +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/src/mcp_agent/logging/events.py +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/src/mcp_agent/logging/json_serializer.py +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/src/mcp_agent/logging/listeners.py +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/src/mcp_agent/logging/logger.py +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/src/mcp_agent/logging/rich_progress.py +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/src/mcp_agent/logging/transport.py +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/src/mcp_agent/mcp/__init__.py +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/src/mcp_agent/mcp/common.py +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/src/mcp_agent/mcp/elicitation_factory.py +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/src/mcp_agent/mcp/elicitation_handlers.py +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/src/mcp_agent/mcp/gen_client.py +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/src/mcp_agent/mcp/helpers/__init__.py +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/src/mcp_agent/mcp/helpers/content_helpers.py +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/src/mcp_agent/mcp/helpers/server_config_helpers.py +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/src/mcp_agent/mcp/hf_auth.py +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/src/mcp_agent/mcp/interfaces.py +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/src/mcp_agent/mcp/logger_textio.py +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/src/mcp_agent/mcp/mcp_agent_client_session.py +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/src/mcp_agent/mcp/mcp_connection_manager.py +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/src/mcp_agent/mcp/mime_utils.py +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/src/mcp_agent/mcp/prompt_message_multipart.py +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/src/mcp_agent/mcp/prompt_render.py +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/src/mcp_agent/mcp/prompt_serialization.py +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/src/mcp_agent/mcp/prompts/__init__.py +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/src/mcp_agent/mcp/prompts/__main__.py +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/src/mcp_agent/mcp/prompts/prompt_constants.py +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/src/mcp_agent/mcp/prompts/prompt_helpers.py +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/src/mcp_agent/mcp/prompts/prompt_load.py +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/src/mcp_agent/mcp/prompts/prompt_server.py +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/src/mcp_agent/mcp/prompts/prompt_template.py +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/src/mcp_agent/mcp/resource_utils.py +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/src/mcp_agent/mcp/sampling.py +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/src/mcp_agent/mcp_server/__init__.py +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/src/mcp_agent/mcp_server/agent_server.py +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/src/mcp_agent/mcp_server_registry.py +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/src/mcp_agent/progress_display.py +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/src/mcp_agent/py.typed +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/src/mcp_agent/resources/examples/data-analysis/analysis-campaign.py +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/src/mcp_agent/resources/examples/data-analysis/analysis.py +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/src/mcp_agent/resources/examples/data-analysis/fastagent.config.yaml +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/src/mcp_agent/resources/examples/data-analysis/mount-point/WA_Fn-UseC_-HR-Employee-Attrition.csv +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/src/mcp_agent/resources/examples/mcp/elicitations/elicitation_account_server.py +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/src/mcp_agent/resources/examples/mcp/elicitations/elicitation_forms_server.py +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/src/mcp_agent/resources/examples/mcp/elicitations/elicitation_game_server.py +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/src/mcp_agent/resources/examples/mcp/elicitations/fastagent.config.yaml +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/src/mcp_agent/resources/examples/mcp/elicitations/fastagent.secrets.yaml.example +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/src/mcp_agent/resources/examples/mcp/elicitations/forms_demo.py +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/src/mcp_agent/resources/examples/mcp/elicitations/game_character.py +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/src/mcp_agent/resources/examples/mcp/elicitations/game_character_handler.py +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/src/mcp_agent/resources/examples/mcp/elicitations/tool_call.py +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/src/mcp_agent/resources/examples/mcp/state-transfer/agent_one.py +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/src/mcp_agent/resources/examples/mcp/state-transfer/agent_two.py +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/src/mcp_agent/resources/examples/mcp/state-transfer/fastagent.config.yaml +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/src/mcp_agent/resources/examples/mcp/state-transfer/fastagent.secrets.yaml.example +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/src/mcp_agent/resources/examples/researcher/fastagent.config.yaml +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/src/mcp_agent/resources/examples/researcher/researcher-eval.py +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/src/mcp_agent/resources/examples/researcher/researcher-imp.py +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/src/mcp_agent/resources/examples/researcher/researcher.py +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/src/mcp_agent/resources/examples/tensorzero/.env.sample +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/src/mcp_agent/resources/examples/tensorzero/Makefile +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/src/mcp_agent/resources/examples/tensorzero/README.md +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/src/mcp_agent/resources/examples/tensorzero/agent.py +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/src/mcp_agent/resources/examples/tensorzero/demo_images/clam.jpg +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/src/mcp_agent/resources/examples/tensorzero/demo_images/crab.png +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/src/mcp_agent/resources/examples/tensorzero/demo_images/shrimp.png +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/src/mcp_agent/resources/examples/tensorzero/docker-compose.yml +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/src/mcp_agent/resources/examples/tensorzero/fastagent.config.yaml +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/src/mcp_agent/resources/examples/tensorzero/image_demo.py +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/src/mcp_agent/resources/examples/tensorzero/mcp_server/.python-version +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/src/mcp_agent/resources/examples/tensorzero/mcp_server/Dockerfile +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/src/mcp_agent/resources/examples/tensorzero/mcp_server/entrypoint.sh +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/src/mcp_agent/resources/examples/tensorzero/mcp_server/mcp_server.py +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/src/mcp_agent/resources/examples/tensorzero/mcp_server/pyproject.toml +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/src/mcp_agent/resources/examples/tensorzero/simple_agent.py +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/src/mcp_agent/resources/examples/tensorzero/tensorzero_config/system_schema.json +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/src/mcp_agent/resources/examples/tensorzero/tensorzero_config/system_template.minijinja +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/src/mcp_agent/resources/examples/tensorzero/tensorzero_config/tensorzero.toml +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/src/mcp_agent/resources/examples/workflows/chaining.py +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/src/mcp_agent/resources/examples/workflows/evaluator.py +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/src/mcp_agent/resources/examples/workflows/fastagent.config.yaml +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/src/mcp_agent/resources/examples/workflows/graded_report.md +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/src/mcp_agent/resources/examples/workflows/human_input.py +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/src/mcp_agent/resources/examples/workflows/orchestrator.py +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/src/mcp_agent/resources/examples/workflows/parallel.py +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/src/mcp_agent/resources/examples/workflows/router.py +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/src/mcp_agent/resources/examples/workflows/short_story.md +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/src/mcp_agent/resources/examples/workflows/short_story.txt +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/src/mcp_agent/tools/tool_definition.py +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/src/mcp_agent/ui/console_display.py +0 -0
- {fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/src/mcp_agent/ui/console_display_legacy.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: fast-agent-mcp
|
|
3
|
-
Version: 0.2.
|
|
3
|
+
Version: 0.2.56
|
|
4
4
|
Summary: Define, Prompt and Test MCP enabled Agents and Workflows
|
|
5
5
|
Author-email: Shaun Smith <fastagent@llmindset.co.uk>
|
|
6
6
|
License: Apache License
|
|
@@ -211,7 +211,7 @@ Classifier: Programming Language :: Python :: 3
|
|
|
211
211
|
Requires-Python: >=3.13
|
|
212
212
|
Requires-Dist: a2a-sdk>=0.3.0
|
|
213
213
|
Requires-Dist: aiohttp>=3.11.13
|
|
214
|
-
Requires-Dist: anthropic>=0.
|
|
214
|
+
Requires-Dist: anthropic>=0.63.0
|
|
215
215
|
Requires-Dist: azure-identity>=1.14.0
|
|
216
216
|
Requires-Dist: boto3>=1.35.0
|
|
217
217
|
Requires-Dist: deprecated>=1.2.18
|
|
@@ -219,7 +219,7 @@ Requires-Dist: email-validator>=2.2.0
|
|
|
219
219
|
Requires-Dist: fastapi>=0.115.6
|
|
220
220
|
Requires-Dist: google-genai>=1.27.0
|
|
221
221
|
Requires-Dist: mcp==1.12.4
|
|
222
|
-
Requires-Dist: openai>=1.
|
|
222
|
+
Requires-Dist: openai>=1.99.9
|
|
223
223
|
Requires-Dist: opentelemetry-distro>=0.55b0
|
|
224
224
|
Requires-Dist: opentelemetry-exporter-otlp-proto-http>=1.7.0
|
|
225
225
|
Requires-Dist: opentelemetry-instrumentation-anthropic>=0.43.1; python_version >= '3.10' and python_version < '4.0'
|
|
@@ -234,20 +234,6 @@ Requires-Dist: pyyaml>=6.0.2
|
|
|
234
234
|
Requires-Dist: rich>=14.1.0
|
|
235
235
|
Requires-Dist: tensorzero>=2025.7.5
|
|
236
236
|
Requires-Dist: typer>=0.15.1
|
|
237
|
-
Provides-Extra: azure
|
|
238
|
-
Requires-Dist: azure-identity>=1.14.0; extra == 'azure'
|
|
239
|
-
Provides-Extra: dev
|
|
240
|
-
Requires-Dist: anthropic>=0.42.0; extra == 'dev'
|
|
241
|
-
Requires-Dist: pre-commit>=4.0.1; extra == 'dev'
|
|
242
|
-
Requires-Dist: pydantic>=2.10.4; extra == 'dev'
|
|
243
|
-
Requires-Dist: pytest-asyncio>=0.21.1; extra == 'dev'
|
|
244
|
-
Requires-Dist: pytest-cov; extra == 'dev'
|
|
245
|
-
Requires-Dist: pytest>=7.4.0; extra == 'dev'
|
|
246
|
-
Requires-Dist: pyyaml>=6.0.2; extra == 'dev'
|
|
247
|
-
Requires-Dist: ruff>=0.8.4; extra == 'dev'
|
|
248
|
-
Requires-Dist: tomli>=2.2.1; extra == 'dev'
|
|
249
|
-
Provides-Extra: openai
|
|
250
|
-
Requires-Dist: openai>=1.58.1; extra == 'openai'
|
|
251
237
|
Description-Content-Type: text/markdown
|
|
252
238
|
|
|
253
239
|
<p align="center">
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "fast-agent-mcp"
|
|
3
|
-
version = "0.2.
|
|
3
|
+
version = "0.2.56"
|
|
4
4
|
description = "Define, Prompt and Test MCP enabled Agents and Workflows"
|
|
5
5
|
readme = "README.md"
|
|
6
6
|
license = { file = "LICENSE" }
|
|
@@ -23,8 +23,8 @@ dependencies = [
|
|
|
23
23
|
"pyyaml>=6.0.2",
|
|
24
24
|
"rich>=14.1.0",
|
|
25
25
|
"typer>=0.15.1",
|
|
26
|
-
"anthropic>=0.
|
|
27
|
-
"openai>=1.
|
|
26
|
+
"anthropic>=0.63.0",
|
|
27
|
+
"openai>=1.99.9",
|
|
28
28
|
"azure-identity>=1.14.0",
|
|
29
29
|
"boto3>=1.35.0",
|
|
30
30
|
"prompt-toolkit>=3.0.51",
|
|
@@ -41,10 +41,6 @@ dependencies = [
|
|
|
41
41
|
"pyperclip>=1.9.0",
|
|
42
42
|
]
|
|
43
43
|
|
|
44
|
-
[project.optional-dependencies]
|
|
45
|
-
openai = [
|
|
46
|
-
"openai>=1.58.1",
|
|
47
|
-
]
|
|
48
44
|
# For Azure OpenAI with DefaultAzureCredential support, install with: pip install fast-agent-mcp[azure]
|
|
49
45
|
azure = [
|
|
50
46
|
"azure-identity>=1.14.0"
|
|
@@ -364,12 +364,15 @@ class BaseAgent(MCPAggregator, AgentProtocol):
|
|
|
364
364
|
if self.config.tools is not None:
|
|
365
365
|
filtered_tools = []
|
|
366
366
|
for tool in result.tools:
|
|
367
|
-
# Extract server name from tool name
|
|
368
|
-
|
|
369
|
-
|
|
367
|
+
# Extract server name from tool name, handling server names with hyphens
|
|
368
|
+
server_name = None
|
|
369
|
+
for configured_server in self.config.tools.keys():
|
|
370
|
+
if tool.name.startswith(f"{configured_server}-"):
|
|
371
|
+
server_name = configured_server
|
|
372
|
+
break
|
|
370
373
|
|
|
371
|
-
|
|
372
|
-
|
|
374
|
+
# Check if this server has tool filters
|
|
375
|
+
if server_name and server_name in self.config.tools:
|
|
373
376
|
# Check if tool matches any pattern for this server
|
|
374
377
|
for pattern in self.config.tools[server_name]:
|
|
375
378
|
if self._matches_pattern(tool.name, pattern, server_name):
|
|
@@ -121,9 +121,9 @@ async def _run_agent(
|
|
|
121
121
|
print(response)
|
|
122
122
|
elif prompt_file:
|
|
123
123
|
prompt = load_prompt_multipart(Path(prompt_file))
|
|
124
|
-
response = await agent.generate(prompt)
|
|
125
|
-
|
|
126
|
-
|
|
124
|
+
response = await agent.agent.generate(prompt)
|
|
125
|
+
print(f"\nLoaded {len(prompt)} messages from prompt file '{prompt_file}'")
|
|
126
|
+
await agent.interactive()
|
|
127
127
|
else:
|
|
128
128
|
await agent.interactive()
|
|
129
129
|
|
{fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/src/mcp_agent/llm/providers/augmented_llm_groq.py
RENAMED
|
@@ -49,35 +49,22 @@ class GroqAugmentedLLM(OpenAIAugmentedLLM):
|
|
|
49
49
|
if "object" == json_mode:
|
|
50
50
|
request_params.response_format = {"type": "json_object"}
|
|
51
51
|
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
format_description += "}"
|
|
69
|
-
|
|
70
|
-
multipart_messages[-1].add_text(
|
|
71
|
-
f"""YOU MUST RESPOND WITH A JSON OBJECT IN EXACTLY THIS FORMAT:
|
|
72
|
-
{format_description}
|
|
73
|
-
|
|
74
|
-
IMPORTANT RULES:
|
|
75
|
-
- Respond ONLY with the JSON object, no other text
|
|
76
|
-
- Do NOT include "properties" or "schema" wrappers
|
|
77
|
-
- Do NOT use code fences or markdown
|
|
78
|
-
- The response must be valid JSON that matches the format above
|
|
79
|
-
- All required fields must be included"""
|
|
80
|
-
)
|
|
52
|
+
# Create a cleaner format description from full schema
|
|
53
|
+
full_schema = model.model_json_schema()
|
|
54
|
+
format_description = self._schema_to_json_object(
|
|
55
|
+
full_schema, full_schema.get("$defs")
|
|
56
|
+
)
|
|
57
|
+
|
|
58
|
+
multipart_messages[-1].add_text(
|
|
59
|
+
f"""YOU MUST RESPOND WITH A JSON OBJECT IN EXACTLY THIS FORMAT:
|
|
60
|
+
{format_description}
|
|
61
|
+
|
|
62
|
+
IMPORTANT RULES:
|
|
63
|
+
- Respond ONLY with the JSON object, no other text
|
|
64
|
+
- Do NOT include "properties" or "schema" wrappers
|
|
65
|
+
- Do NOT use code fences or markdown
|
|
66
|
+
- The response must be valid JSON that matches the format above
|
|
67
|
+
- All required fields must be included""")
|
|
81
68
|
|
|
82
69
|
result: PromptMessageMultipart = await self._apply_prompt_provider_specific(
|
|
83
70
|
multipart_messages, request_params
|
|
@@ -101,3 +88,45 @@ class GroqAugmentedLLM(OpenAIAugmentedLLM):
|
|
|
101
88
|
base_url = self.context.config.groq.base_url
|
|
102
89
|
|
|
103
90
|
return base_url if base_url else GROQ_BASE_URL
|
|
91
|
+
|
|
92
|
+
def _schema_to_json_object(
|
|
93
|
+
self, schema: dict, defs: dict | None = None, visited: set | None = None
|
|
94
|
+
) -> str:
|
|
95
|
+
visited = visited or set()
|
|
96
|
+
|
|
97
|
+
if id(schema) in visited:
|
|
98
|
+
return '"<recursive>"'
|
|
99
|
+
visited.add(id(schema))
|
|
100
|
+
|
|
101
|
+
if "$ref" in schema:
|
|
102
|
+
ref = schema.get("$ref", "")
|
|
103
|
+
if ref.startswith("#/$defs/"):
|
|
104
|
+
target = ref.split("/")[-1]
|
|
105
|
+
if defs and target in defs:
|
|
106
|
+
return self._schema_to_json_object(defs[target], defs, visited)
|
|
107
|
+
return f'"<ref:{ref}>"'
|
|
108
|
+
|
|
109
|
+
schema_type = schema.get("type")
|
|
110
|
+
description = schema.get("description", "")
|
|
111
|
+
required = schema.get("required", [])
|
|
112
|
+
|
|
113
|
+
if schema_type == "object":
|
|
114
|
+
props = schema.get("properties", {})
|
|
115
|
+
result = "{\n"
|
|
116
|
+
for prop_name, prop_schema in props.items():
|
|
117
|
+
is_required = prop_name in required
|
|
118
|
+
prop_str = self._schema_to_json_object(prop_schema, defs, visited)
|
|
119
|
+
if is_required:
|
|
120
|
+
prop_str += " // REQUIRED"
|
|
121
|
+
result += f' "{prop_name}": {prop_str},\n'
|
|
122
|
+
result += "}"
|
|
123
|
+
return result
|
|
124
|
+
elif schema_type == "array":
|
|
125
|
+
items = schema.get("items", {})
|
|
126
|
+
items_str = self._schema_to_json_object(items, defs, visited)
|
|
127
|
+
return f"[{items_str}]"
|
|
128
|
+
elif schema_type:
|
|
129
|
+
comment = f" // {description}" if description else ""
|
|
130
|
+
return f'"{schema_type}"' + comment
|
|
131
|
+
|
|
132
|
+
return '"<unknown>"'
|
{fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/src/mcp_agent/llm/providers/augmented_llm_openai.py
RENAMED
|
@@ -171,7 +171,6 @@ class OpenAIAugmentedLLM(AugmentedLLM[ChatCompletionMessageParam, ChatCompletion
|
|
|
171
171
|
async def _process_stream_manual(self, stream, model: str):
|
|
172
172
|
"""Manual stream processing for providers like Ollama that may not work with ChatCompletionStreamState."""
|
|
173
173
|
from openai.types.chat import ChatCompletionMessageToolCall
|
|
174
|
-
from openai.types.chat.chat_completion_message_tool_call import Function
|
|
175
174
|
|
|
176
175
|
# Track estimated output tokens by counting text chunks
|
|
177
176
|
estimated_tokens = 0
|
|
@@ -249,10 +248,10 @@ class OpenAIAugmentedLLM(AugmentedLLM[ChatCompletionMessageParam, ChatCompletion
|
|
|
249
248
|
ChatCompletionMessageToolCall(
|
|
250
249
|
id=tool_call_data["id"],
|
|
251
250
|
type=tool_call_data["type"],
|
|
252
|
-
function=
|
|
253
|
-
name
|
|
254
|
-
arguments
|
|
255
|
-
|
|
251
|
+
function={
|
|
252
|
+
"name": tool_call_data["function"]["name"],
|
|
253
|
+
"arguments": tool_call_data["function"]["arguments"],
|
|
254
|
+
},
|
|
256
255
|
)
|
|
257
256
|
)
|
|
258
257
|
|
|
@@ -572,14 +572,13 @@ class MCPAggregator(ContextDependent):
|
|
|
572
572
|
|
|
573
573
|
# Next, attempt to interpret as a namespaced name
|
|
574
574
|
if is_namespaced_name(name):
|
|
575
|
-
|
|
576
|
-
server_name
|
|
575
|
+
# Try to match against known server names, handling server names with hyphens
|
|
576
|
+
for server_name in self.server_names:
|
|
577
|
+
if name.startswith(f"{server_name}{SEP}"):
|
|
578
|
+
local_name = name[len(server_name) + len(SEP):]
|
|
579
|
+
return server_name, local_name
|
|
577
580
|
|
|
578
|
-
#
|
|
579
|
-
if server_name in self.server_names:
|
|
580
|
-
return server_name, local_name
|
|
581
|
-
|
|
582
|
-
# If the server name doesn't exist, it might be a tool with a hyphen in its name
|
|
581
|
+
# If no server name matched, it might be a tool with a hyphen in its name
|
|
583
582
|
# Fall through to the next checks
|
|
584
583
|
|
|
585
584
|
# For tools, search all servers for the tool by exact name match
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/examples/custom-agents/fastagent.config.yaml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/examples/data-analysis/fastagent.config.yaml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/examples/mcp/elicitations/elicitation_game_server.py
RENAMED
|
File without changes
|
{fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/examples/mcp/elicitations/fastagent.config.yaml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/examples/mcp/elicitations/game_character_handler.py
RENAMED
|
File without changes
|
|
File without changes
|
{fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/examples/mcp/mcp-filtering/fastagent.config.yaml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/examples/mcp/mcp-filtering/test_mcp_filtering.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/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.55 → fast_agent_mcp-0.2.56}/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.55 → fast_agent_mcp-0.2.56}/examples/tensorzero/mcp_server/entrypoint.sh
RENAMED
|
File without changes
|
{fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/examples/tensorzero/mcp_server/mcp_server.py
RENAMED
|
File without changes
|
{fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/examples/tensorzero/mcp_server/pyproject.toml
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.55 → fast_agent_mcp-0.2.56}/src/mcp_agent/agents/workflow/chain_agent.py
RENAMED
|
File without changes
|
{fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/src/mcp_agent/agents/workflow/evaluator_optimizer.py
RENAMED
|
File without changes
|
{fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/src/mcp_agent/agents/workflow/iterative_planner.py
RENAMED
|
File without changes
|
{fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/src/mcp_agent/agents/workflow/orchestrator_agent.py
RENAMED
|
File without changes
|
{fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/src/mcp_agent/agents/workflow/orchestrator_models.py
RENAMED
|
File without changes
|
|
File without changes
|
{fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/src/mcp_agent/agents/workflow/parallel_agent.py
RENAMED
|
File without changes
|
{fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/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
|
{fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/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.55 → fast_agent_mcp-0.2.56}/src/mcp_agent/human_input/elicitation_form.py
RENAMED
|
File without changes
|
{fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/src/mcp_agent/human_input/elicitation_forms.py
RENAMED
|
File without changes
|
{fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/src/mcp_agent/human_input/elicitation_handler.py
RENAMED
|
File without changes
|
{fast_agent_mcp-0.2.55 → fast_agent_mcp-0.2.56}/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
|