fast-agent-mcp 0.3.3__tar.gz → 0.3.4__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.

Files changed (285) hide show
  1. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/.gitignore +1 -0
  2. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/PKG-INFO +2 -2
  3. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/README.md +1 -1
  4. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/examples/custom-agents/agent.py +2 -2
  5. {fast_agent_mcp-0.3.3/src/fast_agent/resources → fast_agent_mcp-0.3.4}/examples/data-analysis/analysis-campaign.py +1 -1
  6. {fast_agent_mcp-0.3.3/src/fast_agent/resources → fast_agent_mcp-0.3.4}/examples/data-analysis/analysis.py +1 -1
  7. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/examples/fastapi/fastapi-advanced.py +1 -1
  8. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/examples/fastapi/fastapi-simple.py +1 -1
  9. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/examples/mcp/elicitations/forms_demo.py +1 -1
  10. {fast_agent_mcp-0.3.3/src/fast_agent/resources → fast_agent_mcp-0.3.4}/examples/mcp/elicitations/game_character.py +1 -1
  11. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/examples/mcp/elicitations/tool_call.py +1 -1
  12. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/examples/mcp/mcp-filtering/test_mcp_filtering.py +1 -1
  13. {fast_agent_mcp-0.3.3/src/fast_agent/resources → fast_agent_mcp-0.3.4}/examples/mcp/state-transfer/agent_one.py +1 -1
  14. {fast_agent_mcp-0.3.3/src/fast_agent/resources → fast_agent_mcp-0.3.4}/examples/mcp/state-transfer/agent_two.py +1 -1
  15. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/examples/mcp/vision-examples/example1.py +1 -1
  16. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/examples/mcp/vision-examples/example2.py +1 -1
  17. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/examples/mcp/vision-examples/example3.py +1 -1
  18. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/examples/otel/agent.py +1 -1
  19. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/examples/otel/agent2.py +1 -1
  20. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/examples/researcher/researcher-eval.py +1 -1
  21. {fast_agent_mcp-0.3.3/src/fast_agent/resources → fast_agent_mcp-0.3.4}/examples/researcher/researcher-imp.py +1 -1
  22. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/examples/researcher/researcher.py +1 -1
  23. {fast_agent_mcp-0.3.3/src/fast_agent/resources → fast_agent_mcp-0.3.4/examples}/setup/agent.py +1 -1
  24. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/examples/setup/fastagent.config.yaml +1 -0
  25. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/examples/tensorzero/agent.py +1 -1
  26. {fast_agent_mcp-0.3.3/src/fast_agent/resources → fast_agent_mcp-0.3.4}/examples/tensorzero/image_demo.py +1 -1
  27. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/examples/tensorzero/simple_agent.py +1 -1
  28. {fast_agent_mcp-0.3.3/src/fast_agent/resources → fast_agent_mcp-0.3.4}/examples/workflows/chaining.py +1 -1
  29. {fast_agent_mcp-0.3.3/src/fast_agent/resources → fast_agent_mcp-0.3.4}/examples/workflows/evaluator.py +1 -1
  30. {fast_agent_mcp-0.3.3/src/fast_agent/resources → fast_agent_mcp-0.3.4}/examples/workflows/human_input.py +1 -1
  31. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/examples/workflows/orchestrator.py +1 -1
  32. {fast_agent_mcp-0.3.3/src/fast_agent/resources → fast_agent_mcp-0.3.4}/examples/workflows/parallel.py +1 -1
  33. {fast_agent_mcp-0.3.3/src/fast_agent/resources → fast_agent_mcp-0.3.4}/examples/workflows/router.py +1 -1
  34. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/pyproject.toml +1 -1
  35. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/src/fast_agent/__init__.py +6 -3
  36. fast_agent_mcp-0.3.4/src/fast_agent/agents/__init__.py +85 -0
  37. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/src/fast_agent/cli/commands/go.py +1 -1
  38. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/src/fast_agent/config.py +4 -0
  39. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/src/fast_agent/core/__init__.py +38 -37
  40. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/src/fast_agent/core/direct_factory.py +1 -1
  41. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/src/fast_agent/mcp/ui_agent.py +1 -1
  42. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4/src/fast_agent/resources}/examples/data-analysis/analysis-campaign.py +1 -1
  43. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4/src/fast_agent/resources}/examples/data-analysis/analysis.py +1 -1
  44. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/src/fast_agent/resources/examples/mcp/elicitations/forms_demo.py +1 -1
  45. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4/src/fast_agent/resources}/examples/mcp/elicitations/game_character.py +1 -1
  46. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/src/fast_agent/resources/examples/mcp/elicitations/tool_call.py +1 -1
  47. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4/src/fast_agent/resources}/examples/mcp/state-transfer/agent_one.py +1 -1
  48. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4/src/fast_agent/resources}/examples/mcp/state-transfer/agent_two.py +1 -1
  49. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/src/fast_agent/resources/examples/researcher/researcher-eval.py +1 -1
  50. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4/src/fast_agent/resources}/examples/researcher/researcher-imp.py +1 -1
  51. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/src/fast_agent/resources/examples/researcher/researcher.py +1 -1
  52. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/src/fast_agent/resources/examples/tensorzero/agent.py +1 -1
  53. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4/src/fast_agent/resources}/examples/tensorzero/image_demo.py +1 -1
  54. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/src/fast_agent/resources/examples/tensorzero/simple_agent.py +1 -1
  55. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4/src/fast_agent/resources}/examples/workflows/chaining.py +1 -1
  56. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4/src/fast_agent/resources}/examples/workflows/evaluator.py +1 -1
  57. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4/src/fast_agent/resources}/examples/workflows/human_input.py +1 -1
  58. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/src/fast_agent/resources/examples/workflows/orchestrator.py +1 -1
  59. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4/src/fast_agent/resources}/examples/workflows/parallel.py +1 -1
  60. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4/src/fast_agent/resources}/examples/workflows/router.py +1 -1
  61. {fast_agent_mcp-0.3.3/examples → fast_agent_mcp-0.3.4/src/fast_agent/resources}/setup/agent.py +1 -1
  62. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/src/fast_agent/resources/setup/fastagent.config.yaml +1 -0
  63. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/src/fast_agent/ui/mcp_ui_utils.py +12 -1
  64. fast_agent_mcp-0.3.3/src/fast_agent/agents/__init__.py +0 -36
  65. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/LICENSE +0 -0
  66. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/examples/azure-openai/fastagent.config.yaml +0 -0
  67. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/examples/bedrock/fast-agent.config.yaml +0 -0
  68. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/examples/custom-agents/fastagent.config.yaml +0 -0
  69. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/examples/data-analysis/fastagent.config.yaml +0 -0
  70. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/examples/data-analysis/mount-point/WA_Fn-UseC_-HR-Employee-Attrition.csv +0 -0
  71. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/examples/fastapi/pyproject.toml +0 -0
  72. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/examples/fastapi/readme.md +0 -0
  73. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/examples/mcp/elicitations/elicitation_account_server.py +0 -0
  74. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/examples/mcp/elicitations/elicitation_forms_server.py +0 -0
  75. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/examples/mcp/elicitations/elicitation_game_server.py +0 -0
  76. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/examples/mcp/elicitations/fastagent.config.yaml +0 -0
  77. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/examples/mcp/elicitations/fastagent.secrets.yaml.example +0 -0
  78. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/examples/mcp/elicitations/game_character_handler.py +0 -0
  79. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/examples/mcp/mcp-filtering/fastagent.config.yaml +0 -0
  80. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/examples/mcp/mcp-filtering/fastagent.secrets.yaml.example +0 -0
  81. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/examples/mcp/mcp-filtering/mcp_server.py +0 -0
  82. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/examples/mcp/state-transfer/fastagent.config.yaml +0 -0
  83. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/examples/mcp/state-transfer/fastagent.secrets.yaml.example +0 -0
  84. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/examples/mcp/vision-examples/cat.png +0 -0
  85. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/examples/mcp/vision-examples/fastagent.config.yaml +0 -0
  86. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/examples/new-api/display_check.py +0 -0
  87. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/examples/new-api/simple_llm.py +0 -0
  88. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/examples/new-api/simple_llm_advanced.py +0 -0
  89. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/examples/new-api/simple_mcp.py +0 -0
  90. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/examples/otel/docker-compose.yaml +0 -0
  91. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/examples/otel/fastagent.config.yaml +0 -0
  92. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/examples/researcher/fastagent.config.yaml +0 -0
  93. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/examples/setup/.gitignore +0 -0
  94. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/examples/setup/fastagent.secrets.yaml.example +0 -0
  95. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/examples/setup/pyproject.toml.tmpl +0 -0
  96. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/examples/tensorzero/.env.sample +0 -0
  97. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/examples/tensorzero/Makefile +0 -0
  98. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/examples/tensorzero/README.md +0 -0
  99. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/examples/tensorzero/demo_images/clam.jpg +0 -0
  100. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/examples/tensorzero/demo_images/crab.png +0 -0
  101. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/examples/tensorzero/demo_images/shrimp.png +0 -0
  102. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/examples/tensorzero/docker-compose.yml +0 -0
  103. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/examples/tensorzero/fastagent.config.yaml +0 -0
  104. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/examples/tensorzero/mcp_server/Dockerfile +0 -0
  105. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/examples/tensorzero/mcp_server/entrypoint.sh +0 -0
  106. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/examples/tensorzero/mcp_server/mcp_server.py +0 -0
  107. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/examples/tensorzero/mcp_server/pyproject.toml +0 -0
  108. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/examples/tensorzero/tensorzero_config/system_schema.json +0 -0
  109. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/examples/tensorzero/tensorzero_config/system_template.minijinja +0 -0
  110. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/examples/tensorzero/tensorzero_config/tensorzero.toml +0 -0
  111. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/examples/workflows/fastagent.config.yaml +0 -0
  112. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/examples/workflows/graded_report.md +0 -0
  113. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/examples/workflows/short_story.md +0 -0
  114. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/examples/workflows/short_story.txt +0 -0
  115. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/hatch_build.py +0 -0
  116. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/src/fast_agent/agents/agent_types.py +0 -0
  117. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/src/fast_agent/agents/llm_agent.py +0 -0
  118. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/src/fast_agent/agents/llm_decorator.py +0 -0
  119. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/src/fast_agent/agents/mcp_agent.py +0 -0
  120. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/src/fast_agent/agents/tool_agent.py +0 -0
  121. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/src/fast_agent/agents/workflow/chain_agent.py +0 -0
  122. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/src/fast_agent/agents/workflow/evaluator_optimizer.py +0 -0
  123. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/src/fast_agent/agents/workflow/iterative_planner.py +0 -0
  124. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/src/fast_agent/agents/workflow/orchestrator_models.py +0 -0
  125. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/src/fast_agent/agents/workflow/orchestrator_prompts.py +0 -0
  126. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/src/fast_agent/agents/workflow/parallel_agent.py +0 -0
  127. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/src/fast_agent/agents/workflow/router_agent.py +0 -0
  128. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/src/fast_agent/cli/__init__.py +0 -0
  129. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/src/fast_agent/cli/__main__.py +0 -0
  130. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/src/fast_agent/cli/commands/check_config.py +0 -0
  131. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/src/fast_agent/cli/commands/quickstart.py +0 -0
  132. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/src/fast_agent/cli/commands/server_helpers.py +0 -0
  133. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/src/fast_agent/cli/commands/setup.py +0 -0
  134. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/src/fast_agent/cli/commands/url_parser.py +0 -0
  135. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/src/fast_agent/cli/constants.py +0 -0
  136. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/src/fast_agent/cli/main.py +0 -0
  137. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/src/fast_agent/cli/terminal.py +0 -0
  138. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/src/fast_agent/constants.py +0 -0
  139. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/src/fast_agent/context.py +0 -0
  140. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/src/fast_agent/context_dependent.py +0 -0
  141. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/src/fast_agent/core/agent_app.py +0 -0
  142. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/src/fast_agent/core/core_app.py +0 -0
  143. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/src/fast_agent/core/direct_decorators.py +0 -0
  144. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/src/fast_agent/core/error_handling.py +0 -0
  145. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/src/fast_agent/core/exceptions.py +0 -0
  146. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/src/fast_agent/core/executor/__init__.py +0 -0
  147. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/src/fast_agent/core/executor/executor.py +0 -0
  148. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/src/fast_agent/core/executor/task_registry.py +0 -0
  149. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/src/fast_agent/core/executor/workflow_signal.py +0 -0
  150. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/src/fast_agent/core/fastagent.py +0 -0
  151. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/src/fast_agent/core/logging/__init__.py +0 -0
  152. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/src/fast_agent/core/logging/events.py +0 -0
  153. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/src/fast_agent/core/logging/json_serializer.py +0 -0
  154. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/src/fast_agent/core/logging/listeners.py +0 -0
  155. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/src/fast_agent/core/logging/logger.py +0 -0
  156. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/src/fast_agent/core/logging/transport.py +0 -0
  157. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/src/fast_agent/core/prompt.py +0 -0
  158. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/src/fast_agent/core/validation.py +0 -0
  159. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/src/fast_agent/event_progress.py +0 -0
  160. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/src/fast_agent/history/history_exporter.py +0 -0
  161. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/src/fast_agent/human_input/__init__.py +0 -0
  162. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/src/fast_agent/human_input/elicitation_handler.py +0 -0
  163. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/src/fast_agent/human_input/elicitation_state.py +0 -0
  164. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/src/fast_agent/human_input/form_fields.py +0 -0
  165. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/src/fast_agent/human_input/simple_form.py +0 -0
  166. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/src/fast_agent/human_input/types.py +0 -0
  167. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/src/fast_agent/interfaces.py +0 -0
  168. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/src/fast_agent/llm/__init__.py +0 -0
  169. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/src/fast_agent/llm/fastagent_llm.py +0 -0
  170. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/src/fast_agent/llm/internal/passthrough.py +0 -0
  171. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/src/fast_agent/llm/internal/playback.py +0 -0
  172. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/src/fast_agent/llm/internal/silent.py +0 -0
  173. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/src/fast_agent/llm/internal/slow.py +0 -0
  174. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/src/fast_agent/llm/memory.py +0 -0
  175. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/src/fast_agent/llm/model_database.py +0 -0
  176. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/src/fast_agent/llm/model_factory.py +0 -0
  177. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/src/fast_agent/llm/model_info.py +0 -0
  178. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/src/fast_agent/llm/prompt_utils.py +0 -0
  179. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/src/fast_agent/llm/provider/anthropic/anthropic_utils.py +0 -0
  180. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/src/fast_agent/llm/provider/anthropic/llm_anthropic.py +0 -0
  181. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/src/fast_agent/llm/provider/anthropic/multipart_converter_anthropic.py +0 -0
  182. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/src/fast_agent/llm/provider/bedrock/bedrock_utils.py +0 -0
  183. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/src/fast_agent/llm/provider/bedrock/llm_bedrock.py +0 -0
  184. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/src/fast_agent/llm/provider/google/google_converter.py +0 -0
  185. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/src/fast_agent/llm/provider/google/llm_google_native.py +0 -0
  186. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/src/fast_agent/llm/provider/openai/llm_aliyun.py +0 -0
  187. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/src/fast_agent/llm/provider/openai/llm_azure.py +0 -0
  188. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/src/fast_agent/llm/provider/openai/llm_deepseek.py +0 -0
  189. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/src/fast_agent/llm/provider/openai/llm_generic.py +0 -0
  190. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/src/fast_agent/llm/provider/openai/llm_google_oai.py +0 -0
  191. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/src/fast_agent/llm/provider/openai/llm_groq.py +0 -0
  192. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/src/fast_agent/llm/provider/openai/llm_openai.py +0 -0
  193. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/src/fast_agent/llm/provider/openai/llm_openrouter.py +0 -0
  194. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/src/fast_agent/llm/provider/openai/llm_tensorzero_openai.py +0 -0
  195. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/src/fast_agent/llm/provider/openai/llm_xai.py +0 -0
  196. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/src/fast_agent/llm/provider/openai/multipart_converter_openai.py +0 -0
  197. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/src/fast_agent/llm/provider/openai/openai_multipart.py +0 -0
  198. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/src/fast_agent/llm/provider/openai/openai_utils.py +0 -0
  199. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/src/fast_agent/llm/provider_key_manager.py +0 -0
  200. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/src/fast_agent/llm/provider_types.py +0 -0
  201. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/src/fast_agent/llm/request_params.py +0 -0
  202. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/src/fast_agent/llm/sampling_converter.py +0 -0
  203. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/src/fast_agent/llm/usage_tracking.py +0 -0
  204. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/src/fast_agent/mcp/__init__.py +0 -0
  205. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/src/fast_agent/mcp/common.py +0 -0
  206. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/src/fast_agent/mcp/elicitation_factory.py +0 -0
  207. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/src/fast_agent/mcp/elicitation_handlers.py +0 -0
  208. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/src/fast_agent/mcp/gen_client.py +0 -0
  209. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/src/fast_agent/mcp/helpers/__init__.py +0 -0
  210. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/src/fast_agent/mcp/helpers/content_helpers.py +0 -0
  211. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/src/fast_agent/mcp/helpers/server_config_helpers.py +0 -0
  212. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/src/fast_agent/mcp/hf_auth.py +0 -0
  213. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/src/fast_agent/mcp/interfaces.py +0 -0
  214. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/src/fast_agent/mcp/logger_textio.py +0 -0
  215. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/src/fast_agent/mcp/mcp_agent_client_session.py +0 -0
  216. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/src/fast_agent/mcp/mcp_aggregator.py +0 -0
  217. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/src/fast_agent/mcp/mcp_connection_manager.py +0 -0
  218. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/src/fast_agent/mcp/mcp_content.py +0 -0
  219. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/src/fast_agent/mcp/mime_utils.py +0 -0
  220. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/src/fast_agent/mcp/prompt.py +0 -0
  221. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/src/fast_agent/mcp/prompt_message_extended.py +0 -0
  222. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/src/fast_agent/mcp/prompt_render.py +0 -0
  223. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/src/fast_agent/mcp/prompt_serialization.py +0 -0
  224. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/src/fast_agent/mcp/prompts/__init__.py +0 -0
  225. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/src/fast_agent/mcp/prompts/__main__.py +0 -0
  226. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/src/fast_agent/mcp/prompts/prompt_constants.py +0 -0
  227. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/src/fast_agent/mcp/prompts/prompt_helpers.py +0 -0
  228. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/src/fast_agent/mcp/prompts/prompt_load.py +0 -0
  229. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/src/fast_agent/mcp/prompts/prompt_server.py +0 -0
  230. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/src/fast_agent/mcp/prompts/prompt_template.py +0 -0
  231. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/src/fast_agent/mcp/resource_utils.py +0 -0
  232. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/src/fast_agent/mcp/sampling.py +0 -0
  233. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/src/fast_agent/mcp/server/__init__.py +0 -0
  234. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/src/fast_agent/mcp/server/agent_server.py +0 -0
  235. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/src/fast_agent/mcp/ui_mixin.py +0 -0
  236. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/src/fast_agent/mcp_server_registry.py +0 -0
  237. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/src/fast_agent/py.typed +0 -0
  238. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/src/fast_agent/resources/examples/data-analysis/fastagent.config.yaml +0 -0
  239. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/src/fast_agent/resources/examples/data-analysis/mount-point/WA_Fn-UseC_-HR-Employee-Attrition.csv +0 -0
  240. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/src/fast_agent/resources/examples/mcp/elicitations/elicitation_account_server.py +0 -0
  241. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/src/fast_agent/resources/examples/mcp/elicitations/elicitation_forms_server.py +0 -0
  242. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/src/fast_agent/resources/examples/mcp/elicitations/elicitation_game_server.py +0 -0
  243. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/src/fast_agent/resources/examples/mcp/elicitations/fastagent.config.yaml +0 -0
  244. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/src/fast_agent/resources/examples/mcp/elicitations/fastagent.secrets.yaml.example +0 -0
  245. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/src/fast_agent/resources/examples/mcp/elicitations/game_character_handler.py +0 -0
  246. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/src/fast_agent/resources/examples/mcp/state-transfer/fastagent.config.yaml +0 -0
  247. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/src/fast_agent/resources/examples/mcp/state-transfer/fastagent.secrets.yaml.example +0 -0
  248. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/src/fast_agent/resources/examples/researcher/fastagent.config.yaml +0 -0
  249. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/src/fast_agent/resources/examples/tensorzero/.env.sample +0 -0
  250. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/src/fast_agent/resources/examples/tensorzero/Makefile +0 -0
  251. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/src/fast_agent/resources/examples/tensorzero/README.md +0 -0
  252. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/src/fast_agent/resources/examples/tensorzero/demo_images/clam.jpg +0 -0
  253. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/src/fast_agent/resources/examples/tensorzero/demo_images/crab.png +0 -0
  254. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/src/fast_agent/resources/examples/tensorzero/demo_images/shrimp.png +0 -0
  255. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/src/fast_agent/resources/examples/tensorzero/docker-compose.yml +0 -0
  256. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/src/fast_agent/resources/examples/tensorzero/fastagent.config.yaml +0 -0
  257. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/src/fast_agent/resources/examples/tensorzero/mcp_server/.python-version +0 -0
  258. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/src/fast_agent/resources/examples/tensorzero/mcp_server/Dockerfile +0 -0
  259. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/src/fast_agent/resources/examples/tensorzero/mcp_server/entrypoint.sh +0 -0
  260. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/src/fast_agent/resources/examples/tensorzero/mcp_server/mcp_server.py +0 -0
  261. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/src/fast_agent/resources/examples/tensorzero/mcp_server/pyproject.toml +0 -0
  262. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/src/fast_agent/resources/examples/tensorzero/tensorzero_config/system_schema.json +0 -0
  263. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/src/fast_agent/resources/examples/tensorzero/tensorzero_config/system_template.minijinja +0 -0
  264. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/src/fast_agent/resources/examples/tensorzero/tensorzero_config/tensorzero.toml +0 -0
  265. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/src/fast_agent/resources/examples/workflows/fastagent.config.yaml +0 -0
  266. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/src/fast_agent/resources/examples/workflows/graded_report.md +0 -0
  267. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/src/fast_agent/resources/examples/workflows/short_story.md +0 -0
  268. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/src/fast_agent/resources/examples/workflows/short_story.txt +0 -0
  269. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/src/fast_agent/resources/setup/.gitignore +0 -0
  270. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/src/fast_agent/resources/setup/fastagent.secrets.yaml.example +0 -0
  271. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/src/fast_agent/resources/setup/pyproject.toml.tmpl +0 -0
  272. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/src/fast_agent/tools/elicitation.py +0 -0
  273. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/src/fast_agent/types/__init__.py +0 -0
  274. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/src/fast_agent/types/llm_stop_reason.py +0 -0
  275. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/src/fast_agent/ui/__init__.py +0 -0
  276. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/src/fast_agent/ui/console.py +0 -0
  277. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/src/fast_agent/ui/console_display.py +0 -0
  278. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/src/fast_agent/ui/elicitation_form.py +0 -0
  279. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/src/fast_agent/ui/elicitation_style.py +0 -0
  280. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/src/fast_agent/ui/enhanced_prompt.py +0 -0
  281. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/src/fast_agent/ui/interactive_prompt.py +0 -0
  282. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/src/fast_agent/ui/mermaid_utils.py +0 -0
  283. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/src/fast_agent/ui/progress_display.py +0 -0
  284. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/src/fast_agent/ui/rich_progress.py +0 -0
  285. {fast_agent_mcp-0.3.3 → fast_agent_mcp-0.3.4}/src/fast_agent/ui/usage_display.py +0 -0
@@ -200,3 +200,4 @@ fastagent.jsonl
200
200
 
201
201
  tests/e2e/smoke/base/weather_location.txt
202
202
  tests/integration/roots/fastagent.jsonl
203
+ .fast-agent/
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: fast-agent-mcp
3
- Version: 0.3.3
3
+ Version: 0.3.4
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
@@ -321,7 +321,7 @@ Here is the complete `sizer.py` Agent application, with boilerplate code:
321
321
 
322
322
  ```python
323
323
  import asyncio
324
- from fast_agent.core.fastagent import FastAgent
324
+ from fast_agent import FastAgent
325
325
 
326
326
  # Create the application
327
327
  fast = FastAgent("Agent Example")
@@ -83,7 +83,7 @@ Here is the complete `sizer.py` Agent application, with boilerplate code:
83
83
 
84
84
  ```python
85
85
  import asyncio
86
- from fast_agent.core.fastagent import FastAgent
86
+ from fast_agent import FastAgent
87
87
 
88
88
  # Create the application
89
89
  fast = FastAgent("Agent Example")
@@ -1,7 +1,7 @@
1
1
  import asyncio
2
2
 
3
- from fast_agent.agents.mcp_agent import McpAgent
4
- from fast_agent.core.fastagent import FastAgent
3
+ from fast_agent import FastAgent
4
+ from fast_agent.agents import McpAgent
5
5
 
6
6
  # Create the application
7
7
  fast = FastAgent("fast-agent example")
@@ -1,6 +1,6 @@
1
1
  import asyncio
2
2
 
3
- from fast_agent.core.fastagent import FastAgent
3
+ from fast_agent import FastAgent
4
4
  from fast_agent.llm.fastagent_llm import RequestParams
5
5
 
6
6
  # Create the application
@@ -1,6 +1,6 @@
1
1
  import asyncio
2
2
 
3
- from fast_agent.core.fastagent import FastAgent
3
+ from fast_agent import FastAgent
4
4
 
5
5
  # Create the application
6
6
  fast = FastAgent("Data Analysis (Roots)")
@@ -2,8 +2,8 @@ from contextlib import asynccontextmanager
2
2
 
3
3
  from fastapi import Body, FastAPI, HTTPException
4
4
 
5
+ from fast_agent.agents import McpAgent
5
6
  from fast_agent.agents.agent_types import AgentConfig
6
- from fast_agent.agents.mcp_agent import McpAgent
7
7
  from fast_agent.core import Core
8
8
  from fast_agent.core.direct_factory import get_model_factory
9
9
  from fast_agent.mcp import PromptMessageExtended
@@ -3,7 +3,7 @@ from contextlib import asynccontextmanager
3
3
  from fastapi import FastAPI, HTTPException
4
4
  from pydantic import BaseModel
5
5
 
6
- from fast_agent.core.fastagent import FastAgent
6
+ from fast_agent import FastAgent
7
7
 
8
8
  # Create FastAgent without parsing CLI args (plays nice with uvicorn)
9
9
  fast = FastAgent("fast-agent demo", parse_cli_args=False, quiet=True)
@@ -13,7 +13,7 @@ import asyncio
13
13
  from rich.console import Console
14
14
  from rich.panel import Panel
15
15
 
16
- from fast_agent.core.fastagent import FastAgent
16
+ from fast_agent import FastAgent
17
17
  from fast_agent.mcp.helpers.content_helpers import get_resource_text
18
18
 
19
19
  fast = FastAgent("Elicitation Forms Demo", quiet=True)
@@ -14,7 +14,7 @@ from game_character_handler import game_character_elicitation_handler
14
14
  from rich.console import Console
15
15
  from rich.panel import Panel
16
16
 
17
- from fast_agent.core.fastagent import FastAgent
17
+ from fast_agent import FastAgent
18
18
  from fast_agent.mcp.helpers.content_helpers import get_resource_text
19
19
 
20
20
  fast = FastAgent("Game Character Creator", quiet=True)
@@ -1,6 +1,6 @@
1
1
  import asyncio
2
2
 
3
- from fast_agent.core.fastagent import FastAgent
3
+ from fast_agent import FastAgent
4
4
 
5
5
  # Create the application
6
6
  fast = FastAgent("fast-agent example")
@@ -1,7 +1,7 @@
1
1
  import asyncio
2
2
  import sys
3
3
 
4
- from fast_agent.core.fastagent import FastAgent, PromptExitError
4
+ from fast_agent import FastAgent, PromptExitError
5
5
 
6
6
  fast_agent = FastAgent(name="MCP Filtering Demo", parse_cli_args=False, quiet=False)
7
7
 
@@ -1,6 +1,6 @@
1
1
  import asyncio
2
2
 
3
- from fast_agent.core.fastagent import FastAgent
3
+ from fast_agent import FastAgent
4
4
 
5
5
  # Create the application
6
6
  fast = FastAgent("fast-agent agent_one (mcp server)")
@@ -1,6 +1,6 @@
1
1
  import asyncio
2
2
 
3
- from fast_agent.core.fastagent import FastAgent
3
+ from fast_agent import FastAgent
4
4
 
5
5
  # Create the application
6
6
  fast = FastAgent("fast-agent agent_two (mcp client)")
@@ -1,7 +1,7 @@
1
1
  import asyncio
2
2
  from pathlib import Path
3
3
 
4
- from fast_agent.core.fastagent import FastAgent
4
+ from fast_agent import FastAgent
5
5
  from fast_agent.core.prompt import Prompt
6
6
 
7
7
  # Create the application
@@ -1,6 +1,6 @@
1
1
  import asyncio
2
2
 
3
- from fast_agent.core.fastagent import FastAgent
3
+ from fast_agent import FastAgent
4
4
 
5
5
  # Create the application
6
6
  fast = FastAgent("fast-agent example")
@@ -1,6 +1,6 @@
1
1
  import asyncio
2
2
 
3
- from fast_agent.core.fastagent import FastAgent
3
+ from fast_agent import FastAgent
4
4
 
5
5
  # Create the application
6
6
  fast = FastAgent("fast-agent example")
@@ -3,7 +3,7 @@ from typing import Annotated
3
3
 
4
4
  from pydantic import BaseModel, Field
5
5
 
6
- from fast_agent.core.fastagent import FastAgent
6
+ from fast_agent import FastAgent
7
7
  from fast_agent.core.prompt import Prompt
8
8
  from fast_agent.llm.request_params import RequestParams
9
9
 
@@ -3,7 +3,7 @@ from typing import Annotated
3
3
 
4
4
  from pydantic import BaseModel, Field
5
5
 
6
- from fast_agent.core.fastagent import FastAgent
6
+ from fast_agent import FastAgent
7
7
  from fast_agent.core.prompt import Prompt
8
8
  from fast_agent.llm.request_params import RequestParams
9
9
 
@@ -1,6 +1,6 @@
1
1
  import asyncio
2
2
 
3
- from fast_agent.core.fastagent import FastAgent
3
+ from fast_agent import FastAgent
4
4
 
5
5
  agents = FastAgent(name="Researcher Agent (EO)")
6
6
 
@@ -1,6 +1,6 @@
1
1
  import asyncio
2
2
 
3
- from fast_agent.core.fastagent import FastAgent
3
+ from fast_agent import FastAgent
4
4
 
5
5
  agents = FastAgent(name="Enhanced Researcher")
6
6
 
@@ -1,6 +1,6 @@
1
1
  import asyncio
2
2
 
3
- from fast_agent.core.fastagent import FastAgent
3
+ from fast_agent import FastAgent
4
4
 
5
5
  # from rich import print
6
6
 
@@ -1,6 +1,6 @@
1
1
  import asyncio
2
2
 
3
- from fast_agent.core.fastagent import FastAgent
3
+ from fast_agent import FastAgent
4
4
 
5
5
  # Create the application
6
6
  fast = FastAgent("fast-agent example")
@@ -12,6 +12,7 @@
12
12
 
13
13
  default_model: haiku
14
14
  # mcp-ui support: disabled, enabled or auto. "auto" opens the web browser on the asset automatically
15
+ # mcp_ui_output_dir: ".fast-agent/ui" # Where to write MCP-UI HTML files (relative to CWD if not absolute)
15
16
  # mcp_ui_mode: enabled
16
17
 
17
18
  # Logging and Console Configuration:
@@ -1,6 +1,6 @@
1
1
  import asyncio
2
2
 
3
- from fast_agent.core.fastagent import FastAgent
3
+ from fast_agent import FastAgent
4
4
  from fast_agent.llm.request_params import RequestParams
5
5
 
6
6
  # Explicitly provide the path to the config file in the current directory
@@ -6,7 +6,7 @@ from typing import List, Union
6
6
 
7
7
  from mcp.types import ImageContent, TextContent
8
8
 
9
- from fast_agent.core.fastagent import FastAgent
9
+ from fast_agent import FastAgent
10
10
  from fast_agent.core.prompt import Prompt
11
11
  from fast_agent.llm.request_params import RequestParams
12
12
 
@@ -1,6 +1,6 @@
1
1
  import asyncio
2
2
 
3
- from fast_agent.core.fastagent import FastAgent
3
+ from fast_agent import FastAgent
4
4
 
5
5
  CONFIG_FILE = "fastagent.config.yaml"
6
6
  fast = FastAgent("fast-agent example", config_path=CONFIG_FILE, ignore_unknown_args=True)
@@ -1,6 +1,6 @@
1
1
  import asyncio
2
2
 
3
- from fast_agent.core.fastagent import FastAgent
3
+ from fast_agent import FastAgent
4
4
 
5
5
  # Create the application
6
6
  fast = FastAgent("Agent Chaining")
@@ -4,7 +4,7 @@ This demonstrates creating an optimizer and evaluator to iteratively improve con
4
4
 
5
5
  import asyncio
6
6
 
7
- from fast_agent.core.fastagent import FastAgent
7
+ from fast_agent import FastAgent
8
8
 
9
9
  # Create the application
10
10
  fast = FastAgent("Evaluator-Optimizer")
@@ -4,7 +4,7 @@ Agent which demonstrates Human Input tool
4
4
 
5
5
  import asyncio
6
6
 
7
- from fast_agent.core.fastagent import FastAgent
7
+ from fast_agent import FastAgent
8
8
 
9
9
  # Create the application
10
10
  fast = FastAgent("Human Input")
@@ -4,7 +4,7 @@ This demonstrates creating multiple agents and an orchestrator to coordinate the
4
4
 
5
5
  import asyncio
6
6
 
7
- from fast_agent.core.fastagent import FastAgent
7
+ from fast_agent import FastAgent
8
8
 
9
9
  # Create the application
10
10
  fast = FastAgent("Orchestrator-Workers")
@@ -5,7 +5,7 @@ Parallel Workflow showing Fan Out and Fan In agents, using different models
5
5
  import asyncio
6
6
  from pathlib import Path
7
7
 
8
- from fast_agent.core.fastagent import FastAgent
8
+ from fast_agent import FastAgent
9
9
  from fast_agent.core.prompt import Prompt
10
10
 
11
11
  # Create the application
@@ -9,7 +9,7 @@ import asyncio
9
9
 
10
10
  from rich.console import Console
11
11
 
12
- from fast_agent.core.fastagent import FastAgent
12
+ from fast_agent import FastAgent
13
13
 
14
14
  # Create the application
15
15
  fast = FastAgent(
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "fast-agent-mcp"
3
- version = "0.3.3"
3
+ version = "0.3.4"
4
4
  description = "Define, Prompt and Test MCP enabled Agents and Workflows"
5
5
  readme = "README.md"
6
6
  license = { file = "LICENSE" }
@@ -1,5 +1,6 @@
1
1
  """fast-agent - An MCP native agent application framework"""
2
- from typing import TYPE_CHECKING as _TYPE_CHECKING
2
+
3
+ from typing import TYPE_CHECKING
3
4
 
4
5
  # Configuration and settings (safe - pure Pydantic models)
5
6
  from fast_agent.config import (
@@ -73,10 +74,12 @@ def __getattr__(name: str):
73
74
 
74
75
  return ToolAgent
75
76
  elif name == "McpAgent":
77
+ # Import directly from submodule to avoid package re-import cycles
76
78
  from fast_agent.agents.mcp_agent import McpAgent
77
79
 
78
80
  return McpAgent
79
81
  elif name == "FastAgent":
82
+ # Import from the canonical implementation to avoid recursive imports
80
83
  from fast_agent.core.fastagent import FastAgent
81
84
 
82
85
  return FastAgent
@@ -85,7 +88,8 @@ def __getattr__(name: str):
85
88
 
86
89
 
87
90
  # Help static analyzers/IDEs resolve symbols and signatures without importing at runtime.
88
- if _TYPE_CHECKING: # pragma: no cover - typing aid only
91
+ if TYPE_CHECKING: # pragma: no cover - typing aid only
92
+ # Provide a concrete import path for type checkers/IDEs
89
93
  from fast_agent.core.fastagent import FastAgent as FastAgent # noqa: F401
90
94
 
91
95
 
@@ -124,7 +128,6 @@ __all__ = [
124
128
  "LlmStopReason",
125
129
  "RequestParams",
126
130
  # Agents (lazy loaded)
127
- "ToolAgentSynchronous",
128
131
  "LlmAgent",
129
132
  "LlmDecorator",
130
133
  "ToolAgent",
@@ -0,0 +1,85 @@
1
+ """
2
+ Fast Agent - Agent implementations and workflow patterns.
3
+
4
+ This module re-exports agent classes with lazy imports to avoid circular
5
+ dependencies during package initialization while preserving a clean API:
6
+
7
+ from fast_agent.agents import McpAgent, ToolAgent, LlmAgent
8
+ """
9
+
10
+ from typing import TYPE_CHECKING
11
+
12
+ from fast_agent.agents.agent_types import AgentConfig
13
+
14
+
15
+ def __getattr__(name: str):
16
+ """Lazily resolve agent classes to avoid import cycles."""
17
+ if name == "LlmAgent":
18
+ from .llm_agent import LlmAgent
19
+
20
+ return LlmAgent
21
+ elif name == "LlmDecorator":
22
+ from .llm_decorator import LlmDecorator
23
+
24
+ return LlmDecorator
25
+ elif name == "ToolAgent":
26
+ from .tool_agent import ToolAgent
27
+
28
+ return ToolAgent
29
+ elif name == "McpAgent":
30
+ from .mcp_agent import McpAgent
31
+
32
+ return McpAgent
33
+ elif name == "ChainAgent":
34
+ from .workflow.chain_agent import ChainAgent
35
+
36
+ return ChainAgent
37
+ elif name == "EvaluatorOptimizerAgent":
38
+ from .workflow.evaluator_optimizer import EvaluatorOptimizerAgent
39
+
40
+ return EvaluatorOptimizerAgent
41
+ elif name == "IterativePlanner":
42
+ from .workflow.iterative_planner import IterativePlanner
43
+
44
+ return IterativePlanner
45
+ elif name == "ParallelAgent":
46
+ from .workflow.parallel_agent import ParallelAgent
47
+
48
+ return ParallelAgent
49
+ elif name == "RouterAgent":
50
+ from .workflow.router_agent import RouterAgent
51
+
52
+ return RouterAgent
53
+ else:
54
+ raise AttributeError(f"module '{__name__}' has no attribute '{name}'")
55
+
56
+
57
+ if TYPE_CHECKING: # pragma: no cover - type checking only
58
+ from .llm_agent import LlmAgent as LlmAgent # noqa: F401
59
+ from .llm_decorator import LlmDecorator as LlmDecorator # noqa: F401
60
+ from .mcp_agent import McpAgent as McpAgent # noqa: F401
61
+ from .tool_agent import ToolAgent as ToolAgent # noqa: F401
62
+ from .workflow.chain_agent import ChainAgent as ChainAgent # noqa: F401
63
+ from .workflow.evaluator_optimizer import (
64
+ EvaluatorOptimizerAgent as EvaluatorOptimizerAgent,
65
+ ) # noqa: F401
66
+ from .workflow.iterative_planner import IterativePlanner as IterativePlanner # noqa: F401
67
+ from .workflow.parallel_agent import ParallelAgent as ParallelAgent # noqa: F401
68
+ from .workflow.router_agent import RouterAgent as RouterAgent # noqa: F401
69
+
70
+
71
+ __all__ = [
72
+ # Core agents
73
+ "LlmAgent",
74
+ "LlmDecorator",
75
+ "ToolAgent",
76
+ "McpAgent",
77
+ # Workflow agents
78
+ "ChainAgent",
79
+ "EvaluatorOptimizerAgent",
80
+ "IterativePlanner",
81
+ "ParallelAgent",
82
+ "RouterAgent",
83
+ # Types
84
+ "AgentConfig",
85
+ ]
@@ -7,10 +7,10 @@ from typing import Dict, List, Optional
7
7
 
8
8
  import typer
9
9
 
10
+ from fast_agent import FastAgent
10
11
  from fast_agent.agents.llm_agent import LlmAgent
11
12
  from fast_agent.cli.commands.server_helpers import add_servers_to_config, generate_server_name
12
13
  from fast_agent.cli.commands.url_parser import generate_server_configs, parse_server_urls
13
- from fast_agent.core.fastagent import FastAgent
14
14
  from fast_agent.ui.console_display import ConsoleDisplay
15
15
 
16
16
  app = typer.Typer(
@@ -470,6 +470,10 @@ class Settings(BaseSettings):
470
470
  - "auto": Extract and automatically open ui:// resources.
471
471
  """
472
472
 
473
+ # Output directory for MCP-UI generated HTML files (relative to CWD if not absolute)
474
+ mcp_ui_output_dir: str = ".fast-agent/ui"
475
+ """Directory where MCP-UI HTML files are written. Relative paths are resolved from CWD."""
476
+
473
477
  @classmethod
474
478
  def find_config(cls) -> Path | None:
475
479
  """Find the config file in the current directory or parent directories."""
@@ -2,45 +2,32 @@
2
2
  Core interfaces and decorators for fast-agent.
3
3
 
4
4
  Public API:
5
- - `Core`: The core application container (eagerly exported)
6
- - `FastAgent`: High-level, decorator-driven application class (lazy-loaded)
5
+ - `Core`: The core application container
6
+ - `AgentApp`: Container for interacting with agents
7
+ - `FastAgent`: High-level, decorator-driven application class
7
8
  - Decorators: `agent`, `custom`, `orchestrator`, `iterative_planner`,
8
- `router`, `chain`, `parallel`, `evaluator_optimizer` (lazy-loaded)
9
- """
10
-
11
- from typing import TYPE_CHECKING as _TYPE_CHECKING
9
+ `router`, `chain`, `parallel`, `evaluator_optimizer`
12
10
 
13
- from .core_app import Core # Eager export for external applications
11
+ Exports are resolved lazily to avoid circular imports during package init.
12
+ """
14
13
 
15
- __all__ = [
16
- "Core",
17
- "AgentApp",
18
- "FastAgent",
19
- # Decorators
20
- "agent",
21
- "custom",
22
- "orchestrator",
23
- "iterative_planner",
24
- "router",
25
- "chain",
26
- "parallel",
27
- "evaluator_optimizer",
28
- ]
14
+ from typing import TYPE_CHECKING
29
15
 
30
16
 
31
17
  def __getattr__(name: str):
32
- # Lazy imports to avoid heavy dependencies and circular imports at init time
33
- if name == "FastAgent":
34
- from .fastagent import FastAgent
35
-
36
- return FastAgent
37
18
  if name == "AgentApp":
38
19
  from .agent_app import AgentApp
39
20
 
40
21
  return AgentApp
22
+ elif name == "Core":
23
+ from .core_app import Core
41
24
 
42
- # Decorators from direct_decorators
43
- if name in {
25
+ return Core
26
+ elif name == "FastAgent":
27
+ from .fastagent import FastAgent
28
+
29
+ return FastAgent
30
+ elif name in (
44
31
  "agent",
45
32
  "custom",
46
33
  "orchestrator",
@@ -49,20 +36,22 @@ def __getattr__(name: str):
49
36
  "chain",
50
37
  "parallel",
51
38
  "evaluator_optimizer",
52
- }:
39
+ ):
53
40
  from . import direct_decorators as _dd
54
41
 
55
- return getattr(_dd, name)
56
-
42
+ return getattr(
43
+ _dd,
44
+ name,
45
+ )
57
46
  raise AttributeError(f"module '{__name__}' has no attribute '{name}'")
58
47
 
59
48
 
60
- # Help static analyzers/IDEs resolve symbols and signatures without importing at runtime.
61
- if _TYPE_CHECKING: # pragma: no cover - typing aid only
49
+ if TYPE_CHECKING: # pragma: no cover - typing aid only
62
50
  from .agent_app import AgentApp as AgentApp # noqa: F401
63
- from .direct_decorators import (
51
+ from .core_app import Core as Core # noqa: F401
52
+ from .direct_decorators import ( # noqa: F401
64
53
  agent as agent,
65
- ) # noqa: F401
54
+ )
66
55
  from .direct_decorators import (
67
56
  chain as chain,
68
57
  )
@@ -87,5 +76,17 @@ if _TYPE_CHECKING: # pragma: no cover - typing aid only
87
76
  from .fastagent import FastAgent as FastAgent # noqa: F401
88
77
 
89
78
 
90
- def __dir__(): # pragma: no cover - developer experience aid
91
- return sorted(__all__)
79
+ __all__ = [
80
+ "Core",
81
+ "AgentApp",
82
+ "FastAgent",
83
+ # Decorators
84
+ "agent",
85
+ "custom",
86
+ "orchestrator",
87
+ "iterative_planner",
88
+ "router",
89
+ "chain",
90
+ "parallel",
91
+ "evaluator_optimizer",
92
+ ]
@@ -5,9 +5,9 @@ Implements type-safe factories with improved error handling.
5
5
 
6
6
  from typing import Any, Dict, Optional, Protocol, TypeVar
7
7
 
8
+ from fast_agent.agents import McpAgent
8
9
  from fast_agent.agents.agent_types import AgentConfig, AgentType
9
10
  from fast_agent.agents.llm_agent import LlmAgent
10
- from fast_agent.agents.mcp_agent import McpAgent
11
11
  from fast_agent.agents.workflow.evaluator_optimizer import (
12
12
  EvaluatorOptimizerAgent,
13
13
  QualityRating,
@@ -9,7 +9,7 @@ from __future__ import annotations
9
9
 
10
10
  from typing import TYPE_CHECKING, Any
11
11
 
12
- from fast_agent.agents.mcp_agent import McpAgent
12
+ from fast_agent.agents import McpAgent
13
13
  from fast_agent.mcp.ui_mixin import McpUIMixin
14
14
 
15
15
  if TYPE_CHECKING:
@@ -1,6 +1,6 @@
1
1
  import asyncio
2
2
 
3
- from fast_agent.core.fastagent import FastAgent
3
+ from fast_agent import FastAgent
4
4
  from fast_agent.llm.fastagent_llm import RequestParams
5
5
 
6
6
  # Create the application
@@ -1,6 +1,6 @@
1
1
  import asyncio
2
2
 
3
- from fast_agent.core.fastagent import FastAgent
3
+ from fast_agent import FastAgent
4
4
 
5
5
  # Create the application
6
6
  fast = FastAgent("Data Analysis (Roots)")
@@ -13,7 +13,7 @@ import asyncio
13
13
  from rich.console import Console
14
14
  from rich.panel import Panel
15
15
 
16
- from fast_agent.core.fastagent import FastAgent
16
+ from fast_agent import FastAgent
17
17
  from fast_agent.mcp.helpers.content_helpers import get_resource_text
18
18
 
19
19
  fast = FastAgent("Elicitation Forms Demo", quiet=True)