fast-agent-mcp 0.3.0__tar.gz → 0.3.1__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 (281) hide show
  1. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/PKG-INFO +1 -1
  2. fast_agent_mcp-0.3.1/examples/setup/pyproject.toml.tmpl +17 -0
  3. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/pyproject.toml +1 -1
  4. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/src/fast_agent/cli/commands/setup.py +48 -37
  5. fast_agent_mcp-0.3.1/src/fast_agent/core/__init__.py +52 -0
  6. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/src/fast_agent/mcp/__init__.py +12 -1
  7. fast_agent_mcp-0.3.1/src/fast_agent/resources/setup/pyproject.toml.tmpl +17 -0
  8. fast_agent_mcp-0.3.0/src/fast_agent/core/__init__.py +0 -17
  9. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/.gitignore +0 -0
  10. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/LICENSE +0 -0
  11. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/README.md +0 -0
  12. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/examples/azure-openai/fastagent.config.yaml +0 -0
  13. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/examples/bedrock/fast-agent.config.yaml +0 -0
  14. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/examples/custom-agents/agent.py +0 -0
  15. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/examples/custom-agents/fastagent.config.yaml +0 -0
  16. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/examples/data-analysis/analysis-campaign.py +0 -0
  17. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/examples/data-analysis/analysis.py +0 -0
  18. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/examples/data-analysis/fastagent.config.yaml +0 -0
  19. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/examples/data-analysis/mount-point/WA_Fn-UseC_-HR-Employee-Attrition.csv +0 -0
  20. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/examples/mcp/elicitations/elicitation_account_server.py +0 -0
  21. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/examples/mcp/elicitations/elicitation_forms_server.py +0 -0
  22. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/examples/mcp/elicitations/elicitation_game_server.py +0 -0
  23. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/examples/mcp/elicitations/fastagent.config.yaml +0 -0
  24. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/examples/mcp/elicitations/fastagent.secrets.yaml.example +0 -0
  25. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/examples/mcp/elicitations/forms_demo.py +0 -0
  26. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/examples/mcp/elicitations/game_character.py +0 -0
  27. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/examples/mcp/elicitations/game_character_handler.py +0 -0
  28. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/examples/mcp/elicitations/tool_call.py +0 -0
  29. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/examples/mcp/mcp-filtering/fastagent.config.yaml +0 -0
  30. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/examples/mcp/mcp-filtering/fastagent.secrets.yaml.example +0 -0
  31. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/examples/mcp/mcp-filtering/mcp_server.py +0 -0
  32. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/examples/mcp/mcp-filtering/test_mcp_filtering.py +0 -0
  33. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/examples/mcp/state-transfer/agent_one.py +0 -0
  34. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/examples/mcp/state-transfer/agent_two.py +0 -0
  35. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/examples/mcp/state-transfer/fastagent.config.yaml +0 -0
  36. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/examples/mcp/state-transfer/fastagent.secrets.yaml.example +0 -0
  37. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/examples/mcp/vision-examples/cat.png +0 -0
  38. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/examples/mcp/vision-examples/example1.py +0 -0
  39. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/examples/mcp/vision-examples/example2.py +0 -0
  40. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/examples/mcp/vision-examples/example3.py +0 -0
  41. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/examples/mcp/vision-examples/fastagent.config.yaml +0 -0
  42. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/examples/new-api/display_check.py +0 -0
  43. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/examples/new-api/simple_llm.py +0 -0
  44. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/examples/new-api/simple_llm_advanced.py +0 -0
  45. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/examples/new-api/simple_mcp.py +0 -0
  46. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/examples/otel/agent.py +0 -0
  47. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/examples/otel/agent2.py +0 -0
  48. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/examples/otel/docker-compose.yaml +0 -0
  49. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/examples/otel/fastagent.config.yaml +0 -0
  50. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/examples/researcher/fastagent.config.yaml +0 -0
  51. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/examples/researcher/researcher-eval.py +0 -0
  52. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/examples/researcher/researcher-imp.py +0 -0
  53. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/examples/researcher/researcher.py +0 -0
  54. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/examples/setup/.gitignore +0 -0
  55. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/examples/setup/agent.py +0 -0
  56. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/examples/setup/fastagent.config.yaml +0 -0
  57. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/examples/setup/fastagent.secrets.yaml.example +0 -0
  58. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/examples/tensorzero/.env.sample +0 -0
  59. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/examples/tensorzero/Makefile +0 -0
  60. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/examples/tensorzero/README.md +0 -0
  61. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/examples/tensorzero/agent.py +0 -0
  62. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/examples/tensorzero/demo_images/clam.jpg +0 -0
  63. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/examples/tensorzero/demo_images/crab.png +0 -0
  64. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/examples/tensorzero/demo_images/shrimp.png +0 -0
  65. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/examples/tensorzero/docker-compose.yml +0 -0
  66. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/examples/tensorzero/fastagent.config.yaml +0 -0
  67. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/examples/tensorzero/image_demo.py +0 -0
  68. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/examples/tensorzero/mcp_server/Dockerfile +0 -0
  69. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/examples/tensorzero/mcp_server/entrypoint.sh +0 -0
  70. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/examples/tensorzero/mcp_server/mcp_server.py +0 -0
  71. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/examples/tensorzero/mcp_server/pyproject.toml +0 -0
  72. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/examples/tensorzero/simple_agent.py +0 -0
  73. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/examples/tensorzero/tensorzero_config/system_schema.json +0 -0
  74. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/examples/tensorzero/tensorzero_config/system_template.minijinja +0 -0
  75. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/examples/tensorzero/tensorzero_config/tensorzero.toml +0 -0
  76. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/examples/workflows/chaining.py +0 -0
  77. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/examples/workflows/evaluator.py +0 -0
  78. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/examples/workflows/fastagent.config.yaml +0 -0
  79. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/examples/workflows/graded_report.md +0 -0
  80. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/examples/workflows/human_input.py +0 -0
  81. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/examples/workflows/orchestrator.py +0 -0
  82. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/examples/workflows/parallel.py +0 -0
  83. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/examples/workflows/router.py +0 -0
  84. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/examples/workflows/short_story.md +0 -0
  85. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/examples/workflows/short_story.txt +0 -0
  86. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/hatch_build.py +0 -0
  87. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/src/fast_agent/__init__.py +0 -0
  88. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/src/fast_agent/agents/__init__.py +0 -0
  89. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/src/fast_agent/agents/agent_types.py +0 -0
  90. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/src/fast_agent/agents/llm_agent.py +0 -0
  91. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/src/fast_agent/agents/llm_decorator.py +0 -0
  92. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/src/fast_agent/agents/mcp_agent.py +0 -0
  93. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/src/fast_agent/agents/tool_agent.py +0 -0
  94. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/src/fast_agent/agents/workflow/chain_agent.py +0 -0
  95. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/src/fast_agent/agents/workflow/evaluator_optimizer.py +0 -0
  96. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/src/fast_agent/agents/workflow/iterative_planner.py +0 -0
  97. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/src/fast_agent/agents/workflow/orchestrator_models.py +0 -0
  98. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/src/fast_agent/agents/workflow/orchestrator_prompts.py +0 -0
  99. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/src/fast_agent/agents/workflow/parallel_agent.py +0 -0
  100. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/src/fast_agent/agents/workflow/router_agent.py +0 -0
  101. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/src/fast_agent/cli/__init__.py +0 -0
  102. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/src/fast_agent/cli/__main__.py +0 -0
  103. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/src/fast_agent/cli/commands/check_config.py +0 -0
  104. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/src/fast_agent/cli/commands/go.py +0 -0
  105. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/src/fast_agent/cli/commands/quickstart.py +0 -0
  106. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/src/fast_agent/cli/commands/server_helpers.py +0 -0
  107. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/src/fast_agent/cli/commands/url_parser.py +0 -0
  108. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/src/fast_agent/cli/constants.py +0 -0
  109. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/src/fast_agent/cli/main.py +0 -0
  110. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/src/fast_agent/cli/terminal.py +0 -0
  111. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/src/fast_agent/config.py +0 -0
  112. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/src/fast_agent/constants.py +0 -0
  113. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/src/fast_agent/context.py +0 -0
  114. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/src/fast_agent/context_dependent.py +0 -0
  115. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/src/fast_agent/core/agent_app.py +0 -0
  116. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/src/fast_agent/core/core_app.py +0 -0
  117. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/src/fast_agent/core/direct_decorators.py +0 -0
  118. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/src/fast_agent/core/direct_factory.py +0 -0
  119. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/src/fast_agent/core/error_handling.py +0 -0
  120. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/src/fast_agent/core/exceptions.py +0 -0
  121. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/src/fast_agent/core/executor/__init__.py +0 -0
  122. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/src/fast_agent/core/executor/executor.py +0 -0
  123. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/src/fast_agent/core/executor/task_registry.py +0 -0
  124. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/src/fast_agent/core/executor/workflow_signal.py +0 -0
  125. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/src/fast_agent/core/fastagent.py +0 -0
  126. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/src/fast_agent/core/logging/__init__.py +0 -0
  127. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/src/fast_agent/core/logging/events.py +0 -0
  128. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/src/fast_agent/core/logging/json_serializer.py +0 -0
  129. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/src/fast_agent/core/logging/listeners.py +0 -0
  130. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/src/fast_agent/core/logging/logger.py +0 -0
  131. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/src/fast_agent/core/logging/transport.py +0 -0
  132. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/src/fast_agent/core/prompt.py +0 -0
  133. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/src/fast_agent/core/validation.py +0 -0
  134. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/src/fast_agent/event_progress.py +0 -0
  135. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/src/fast_agent/history/history_exporter.py +0 -0
  136. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/src/fast_agent/human_input/__init__.py +0 -0
  137. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/src/fast_agent/human_input/elicitation_handler.py +0 -0
  138. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/src/fast_agent/human_input/elicitation_state.py +0 -0
  139. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/src/fast_agent/human_input/form_fields.py +0 -0
  140. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/src/fast_agent/human_input/simple_form.py +0 -0
  141. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/src/fast_agent/human_input/types.py +0 -0
  142. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/src/fast_agent/interfaces.py +0 -0
  143. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/src/fast_agent/llm/__init__.py +0 -0
  144. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/src/fast_agent/llm/fastagent_llm.py +0 -0
  145. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/src/fast_agent/llm/internal/passthrough.py +0 -0
  146. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/src/fast_agent/llm/internal/playback.py +0 -0
  147. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/src/fast_agent/llm/internal/silent.py +0 -0
  148. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/src/fast_agent/llm/internal/slow.py +0 -0
  149. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/src/fast_agent/llm/memory.py +0 -0
  150. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/src/fast_agent/llm/model_database.py +0 -0
  151. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/src/fast_agent/llm/model_factory.py +0 -0
  152. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/src/fast_agent/llm/model_info.py +0 -0
  153. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/src/fast_agent/llm/prompt_utils.py +0 -0
  154. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/src/fast_agent/llm/provider/anthropic/anthropic_utils.py +0 -0
  155. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/src/fast_agent/llm/provider/anthropic/llm_anthropic.py +0 -0
  156. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/src/fast_agent/llm/provider/anthropic/multipart_converter_anthropic.py +0 -0
  157. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/src/fast_agent/llm/provider/bedrock/bedrock_utils.py +0 -0
  158. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/src/fast_agent/llm/provider/bedrock/llm_bedrock.py +0 -0
  159. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/src/fast_agent/llm/provider/google/google_converter.py +0 -0
  160. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/src/fast_agent/llm/provider/google/llm_google_native.py +0 -0
  161. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/src/fast_agent/llm/provider/openai/llm_aliyun.py +0 -0
  162. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/src/fast_agent/llm/provider/openai/llm_azure.py +0 -0
  163. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/src/fast_agent/llm/provider/openai/llm_deepseek.py +0 -0
  164. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/src/fast_agent/llm/provider/openai/llm_generic.py +0 -0
  165. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/src/fast_agent/llm/provider/openai/llm_google_oai.py +0 -0
  166. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/src/fast_agent/llm/provider/openai/llm_groq.py +0 -0
  167. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/src/fast_agent/llm/provider/openai/llm_openai.py +0 -0
  168. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/src/fast_agent/llm/provider/openai/llm_openrouter.py +0 -0
  169. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/src/fast_agent/llm/provider/openai/llm_tensorzero_openai.py +0 -0
  170. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/src/fast_agent/llm/provider/openai/llm_xai.py +0 -0
  171. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/src/fast_agent/llm/provider/openai/multipart_converter_openai.py +0 -0
  172. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/src/fast_agent/llm/provider/openai/openai_multipart.py +0 -0
  173. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/src/fast_agent/llm/provider/openai/openai_utils.py +0 -0
  174. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/src/fast_agent/llm/provider_key_manager.py +0 -0
  175. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/src/fast_agent/llm/provider_types.py +0 -0
  176. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/src/fast_agent/llm/request_params.py +0 -0
  177. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/src/fast_agent/llm/sampling_converter.py +0 -0
  178. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/src/fast_agent/llm/usage_tracking.py +0 -0
  179. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/src/fast_agent/mcp/common.py +0 -0
  180. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/src/fast_agent/mcp/elicitation_factory.py +0 -0
  181. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/src/fast_agent/mcp/elicitation_handlers.py +0 -0
  182. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/src/fast_agent/mcp/gen_client.py +0 -0
  183. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/src/fast_agent/mcp/helpers/__init__.py +0 -0
  184. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/src/fast_agent/mcp/helpers/content_helpers.py +0 -0
  185. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/src/fast_agent/mcp/helpers/server_config_helpers.py +0 -0
  186. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/src/fast_agent/mcp/hf_auth.py +0 -0
  187. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/src/fast_agent/mcp/interfaces.py +0 -0
  188. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/src/fast_agent/mcp/logger_textio.py +0 -0
  189. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/src/fast_agent/mcp/mcp_agent_client_session.py +0 -0
  190. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/src/fast_agent/mcp/mcp_aggregator.py +0 -0
  191. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/src/fast_agent/mcp/mcp_connection_manager.py +0 -0
  192. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/src/fast_agent/mcp/mcp_content.py +0 -0
  193. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/src/fast_agent/mcp/mime_utils.py +0 -0
  194. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/src/fast_agent/mcp/prompt.py +0 -0
  195. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/src/fast_agent/mcp/prompt_message_extended.py +0 -0
  196. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/src/fast_agent/mcp/prompt_render.py +0 -0
  197. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/src/fast_agent/mcp/prompt_serialization.py +0 -0
  198. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/src/fast_agent/mcp/prompts/__init__.py +0 -0
  199. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/src/fast_agent/mcp/prompts/__main__.py +0 -0
  200. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/src/fast_agent/mcp/prompts/prompt_constants.py +0 -0
  201. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/src/fast_agent/mcp/prompts/prompt_helpers.py +0 -0
  202. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/src/fast_agent/mcp/prompts/prompt_load.py +0 -0
  203. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/src/fast_agent/mcp/prompts/prompt_server.py +0 -0
  204. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/src/fast_agent/mcp/prompts/prompt_template.py +0 -0
  205. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/src/fast_agent/mcp/resource_utils.py +0 -0
  206. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/src/fast_agent/mcp/sampling.py +0 -0
  207. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/src/fast_agent/mcp/server/__init__.py +0 -0
  208. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/src/fast_agent/mcp/server/agent_server.py +0 -0
  209. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/src/fast_agent/mcp/ui_agent.py +0 -0
  210. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/src/fast_agent/mcp/ui_mixin.py +0 -0
  211. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/src/fast_agent/mcp_server_registry.py +0 -0
  212. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/src/fast_agent/py.typed +0 -0
  213. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/src/fast_agent/resources/examples/data-analysis/analysis-campaign.py +0 -0
  214. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/src/fast_agent/resources/examples/data-analysis/analysis.py +0 -0
  215. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/src/fast_agent/resources/examples/data-analysis/fastagent.config.yaml +0 -0
  216. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/src/fast_agent/resources/examples/data-analysis/mount-point/WA_Fn-UseC_-HR-Employee-Attrition.csv +0 -0
  217. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/src/fast_agent/resources/examples/mcp/elicitations/elicitation_account_server.py +0 -0
  218. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/src/fast_agent/resources/examples/mcp/elicitations/elicitation_forms_server.py +0 -0
  219. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/src/fast_agent/resources/examples/mcp/elicitations/elicitation_game_server.py +0 -0
  220. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/src/fast_agent/resources/examples/mcp/elicitations/fastagent.config.yaml +0 -0
  221. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/src/fast_agent/resources/examples/mcp/elicitations/fastagent.secrets.yaml.example +0 -0
  222. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/src/fast_agent/resources/examples/mcp/elicitations/forms_demo.py +0 -0
  223. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/src/fast_agent/resources/examples/mcp/elicitations/game_character.py +0 -0
  224. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/src/fast_agent/resources/examples/mcp/elicitations/game_character_handler.py +0 -0
  225. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/src/fast_agent/resources/examples/mcp/elicitations/tool_call.py +0 -0
  226. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/src/fast_agent/resources/examples/mcp/state-transfer/agent_one.py +0 -0
  227. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/src/fast_agent/resources/examples/mcp/state-transfer/agent_two.py +0 -0
  228. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/src/fast_agent/resources/examples/mcp/state-transfer/fastagent.config.yaml +0 -0
  229. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/src/fast_agent/resources/examples/mcp/state-transfer/fastagent.secrets.yaml.example +0 -0
  230. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/src/fast_agent/resources/examples/researcher/fastagent.config.yaml +0 -0
  231. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/src/fast_agent/resources/examples/researcher/researcher-eval.py +0 -0
  232. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/src/fast_agent/resources/examples/researcher/researcher-imp.py +0 -0
  233. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/src/fast_agent/resources/examples/researcher/researcher.py +0 -0
  234. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/src/fast_agent/resources/examples/tensorzero/.env.sample +0 -0
  235. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/src/fast_agent/resources/examples/tensorzero/Makefile +0 -0
  236. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/src/fast_agent/resources/examples/tensorzero/README.md +0 -0
  237. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/src/fast_agent/resources/examples/tensorzero/agent.py +0 -0
  238. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/src/fast_agent/resources/examples/tensorzero/demo_images/clam.jpg +0 -0
  239. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/src/fast_agent/resources/examples/tensorzero/demo_images/crab.png +0 -0
  240. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/src/fast_agent/resources/examples/tensorzero/demo_images/shrimp.png +0 -0
  241. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/src/fast_agent/resources/examples/tensorzero/docker-compose.yml +0 -0
  242. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/src/fast_agent/resources/examples/tensorzero/fastagent.config.yaml +0 -0
  243. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/src/fast_agent/resources/examples/tensorzero/image_demo.py +0 -0
  244. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/src/fast_agent/resources/examples/tensorzero/mcp_server/.python-version +0 -0
  245. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/src/fast_agent/resources/examples/tensorzero/mcp_server/Dockerfile +0 -0
  246. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/src/fast_agent/resources/examples/tensorzero/mcp_server/entrypoint.sh +0 -0
  247. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/src/fast_agent/resources/examples/tensorzero/mcp_server/mcp_server.py +0 -0
  248. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/src/fast_agent/resources/examples/tensorzero/mcp_server/pyproject.toml +0 -0
  249. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/src/fast_agent/resources/examples/tensorzero/simple_agent.py +0 -0
  250. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/src/fast_agent/resources/examples/tensorzero/tensorzero_config/system_schema.json +0 -0
  251. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/src/fast_agent/resources/examples/tensorzero/tensorzero_config/system_template.minijinja +0 -0
  252. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/src/fast_agent/resources/examples/tensorzero/tensorzero_config/tensorzero.toml +0 -0
  253. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/src/fast_agent/resources/examples/workflows/chaining.py +0 -0
  254. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/src/fast_agent/resources/examples/workflows/evaluator.py +0 -0
  255. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/src/fast_agent/resources/examples/workflows/fastagent.config.yaml +0 -0
  256. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/src/fast_agent/resources/examples/workflows/graded_report.md +0 -0
  257. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/src/fast_agent/resources/examples/workflows/human_input.py +0 -0
  258. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/src/fast_agent/resources/examples/workflows/orchestrator.py +0 -0
  259. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/src/fast_agent/resources/examples/workflows/parallel.py +0 -0
  260. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/src/fast_agent/resources/examples/workflows/router.py +0 -0
  261. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/src/fast_agent/resources/examples/workflows/short_story.md +0 -0
  262. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/src/fast_agent/resources/examples/workflows/short_story.txt +0 -0
  263. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/src/fast_agent/resources/setup/.gitignore +0 -0
  264. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/src/fast_agent/resources/setup/agent.py +0 -0
  265. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/src/fast_agent/resources/setup/fastagent.config.yaml +0 -0
  266. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/src/fast_agent/resources/setup/fastagent.secrets.yaml.example +0 -0
  267. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/src/fast_agent/tools/elicitation.py +0 -0
  268. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/src/fast_agent/types/__init__.py +0 -0
  269. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/src/fast_agent/types/llm_stop_reason.py +0 -0
  270. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/src/fast_agent/ui/__init__.py +0 -0
  271. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/src/fast_agent/ui/console.py +0 -0
  272. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/src/fast_agent/ui/console_display.py +0 -0
  273. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/src/fast_agent/ui/elicitation_form.py +0 -0
  274. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/src/fast_agent/ui/elicitation_style.py +0 -0
  275. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/src/fast_agent/ui/enhanced_prompt.py +0 -0
  276. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/src/fast_agent/ui/interactive_prompt.py +0 -0
  277. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/src/fast_agent/ui/mcp_ui_utils.py +0 -0
  278. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/src/fast_agent/ui/mermaid_utils.py +0 -0
  279. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/src/fast_agent/ui/progress_display.py +0 -0
  280. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/src/fast_agent/ui/rich_progress.py +0 -0
  281. {fast_agent_mcp-0.3.0 → fast_agent_mcp-0.3.1}/src/fast_agent/ui/usage_display.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: fast-agent-mcp
3
- Version: 0.3.0
3
+ Version: 0.3.1
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
@@ -0,0 +1,17 @@
1
+ [project]
2
+ name = "fast-agent-app"
3
+ version = "0.1.0"
4
+ description = "a simple fast-agent application"
5
+ readme = "README.md"
6
+ requires-python = "{{python_requires}}"
7
+ dependencies = [
8
+ {{fast_agent_dep}}
9
+ ]
10
+
11
+ [tool.uv]
12
+ package = true
13
+
14
+ # Optional convenience entry point if you later package this app:
15
+ [project.scripts]
16
+ fast-agent-app = "agent:main"
17
+
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "fast-agent-mcp"
3
- version = "0.3.0"
3
+ version = "0.3.1"
4
4
  description = "Define, Prompt and Test MCP enabled Agents and Workflows"
5
5
  readme = "README.md"
6
6
  license = { file = "LICENSE" }
@@ -9,50 +9,33 @@ console = Console()
9
9
 
10
10
 
11
11
  def load_template_text(filename: str) -> str:
12
- """Load template text from packaged resources with a development fallback.
12
+ """Load template text from packaged resources only.
13
13
 
14
14
  Special-case: when requesting 'fastagent.secrets.yaml', read the
15
15
  'fastagent.secrets.yaml.example' template from resources, but still
16
16
  return its contents so we can write out the real secrets file name
17
17
  in the destination project.
18
18
  """
19
- try:
20
- # Prefer reading from installed package resources
21
- from importlib.resources import files
19
+ from importlib.resources import files
22
20
 
23
- # Map secrets filename to its '.example' template in resources
24
- res_name = (
25
- "fastagent.secrets.yaml.example" if filename == "fastagent.secrets.yaml" else filename
26
- )
27
- resource_path = files("fast_agent").joinpath("resources").joinpath("setup").joinpath(res_name)
28
- if resource_path.is_file():
29
- return resource_path.read_text()
30
- # If the path exists but isn't a file, fall back to dev
31
- raise FileNotFoundError
32
- except (ImportError, ModuleNotFoundError, FileNotFoundError):
33
- # Development environment fallback to repo path (project root/examples/setup)
34
- try:
35
- repo_root = Path(__file__).resolve().parents[4]
36
- except IndexError:
37
- repo_root = Path(__file__).resolve().parent
38
- # Apply the same secrets mapping for the dev path
39
- dev_name = (
40
- "fastagent.secrets.yaml.example" if filename == "fastagent.secrets.yaml" else filename
41
- )
42
- dev_path = repo_root / "examples" / "setup" / dev_name
43
- if dev_path.exists():
44
- return dev_path.read_text()
45
- raise RuntimeError(
46
- "Setup template missing: '"
47
- + filename
48
- + "'.\n"
49
- + "Expected at: "
50
- + str(resource_path)
51
- + " (package) or "
52
- + str(dev_path)
53
- + " (dev).\n"
54
- + "This indicates a packaging issue. Please rebuild/reinstall fast-agent."
55
- )
21
+ # Map requested filenames to resource templates
22
+ if filename == "fastagent.secrets.yaml":
23
+ res_name = "fastagent.secrets.yaml.example"
24
+ elif filename == "pyproject.toml":
25
+ res_name = "pyproject.toml.tmpl"
26
+ else:
27
+ res_name = filename
28
+ resource_path = (
29
+ files("fast_agent").joinpath("resources").joinpath("setup").joinpath(res_name)
30
+ )
31
+ if resource_path.is_file():
32
+ return resource_path.read_text()
33
+
34
+ raise RuntimeError(
35
+ f"Setup template missing: '{filename}'.\n"
36
+ f"Expected packaged resource at: {resource_path}.\n"
37
+ "This indicates a packaging issue. Please rebuild/reinstall fast-agent."
38
+ )
56
39
 
57
40
 
58
41
  # (No embedded template defaults; templates are the single source of truth.)
@@ -114,6 +97,7 @@ def init(
114
97
  console.print(f" - {config_path}/fastagent.config.yaml")
115
98
  console.print(f" - {config_path}/fastagent.secrets.yaml")
116
99
  console.print(f" - {config_path}/agent.py")
100
+ console.print(f" - {config_path}/pyproject.toml")
117
101
  if needs_gitignore:
118
102
  console.print(f" - {config_path}/.gitignore")
119
103
 
@@ -135,6 +119,33 @@ def init(
135
119
  if create_file(config_path / "agent.py", load_template_text("agent.py"), force):
136
120
  created.append("agent.py")
137
121
 
122
+ # Create a minimal pyproject.toml so `uv run` installs dependencies
123
+ def _render_pyproject(template_text: str) -> str:
124
+ # Determine Python requirement from installed fast-agent-mcp metadata, fall back if missing
125
+ py_req = ">=3.13.7"
126
+ try:
127
+ from importlib.metadata import metadata
128
+
129
+ md = metadata("fast-agent-mcp")
130
+ req = md.get("Requires-Python")
131
+ if req:
132
+ py_req = req
133
+ except Exception:
134
+ pass
135
+
136
+ # Always use latest fast-agent-mcp (no version pin)
137
+ fast_agent_dep = '"fast-agent-mcp"'
138
+
139
+ return (
140
+ template_text.replace("{{python_requires}}", py_req)
141
+ .replace("{{fast_agent_dep}}", fast_agent_dep)
142
+ )
143
+
144
+ pyproject_template = load_template_text("pyproject.toml")
145
+ pyproject_text = _render_pyproject(pyproject_template)
146
+ if create_file(config_path / "pyproject.toml", pyproject_text, force):
147
+ created.append("pyproject.toml")
148
+
138
149
  # Only create .gitignore if none exists in parent directories
139
150
  if needs_gitignore and create_file(
140
151
  config_path / ".gitignore", load_template_text(".gitignore"), force
@@ -0,0 +1,52 @@
1
+ """
2
+ Core interfaces and decorators for fast-agent.
3
+
4
+ Public API:
5
+ - `Core`: The core application container (lazy-loaded)
6
+ - `FastAgent`: High-level, decorator-driven application class (lazy-loaded)
7
+ - Decorators: `agent`, `custom`, `orchestrator`, `iterative_planner`,
8
+ `router`, `chain`, `parallel`, `evaluator_optimizer` (lazy-loaded)
9
+ """
10
+
11
+ __all__ = [
12
+ "Core",
13
+ "FastAgent",
14
+ # Decorators
15
+ "agent",
16
+ "custom",
17
+ "orchestrator",
18
+ "iterative_planner",
19
+ "router",
20
+ "chain",
21
+ "parallel",
22
+ "evaluator_optimizer",
23
+ ]
24
+
25
+
26
+ def __getattr__(name: str):
27
+ # Lazy imports to avoid heavy dependencies and circular imports at init time
28
+ if name == "Core":
29
+ from .core_app import Core
30
+
31
+ return Core
32
+ if name == "FastAgent":
33
+ from .fastagent import FastAgent
34
+
35
+ return FastAgent
36
+
37
+ # Decorators from direct_decorators
38
+ if name in {
39
+ "agent",
40
+ "custom",
41
+ "orchestrator",
42
+ "iterative_planner",
43
+ "router",
44
+ "chain",
45
+ "parallel",
46
+ "evaluator_optimizer",
47
+ }:
48
+ from . import direct_decorators as _dd
49
+
50
+ return getattr(_dd, name)
51
+
52
+ raise AttributeError(f"module '{__name__}' has no attribute '{name}'")
@@ -1,7 +1,8 @@
1
1
  """
2
- MCP utilities and types for Fast Agent.
2
+ MCP utilities and types for fast-agent.
3
3
 
4
4
  Public API:
5
+ - `Prompt`: helper for constructing MCP prompts/messages.
5
6
  - `PromptMessageExtended`: canonical message container used internally by providers.
6
7
  - Helpers from `fast_agent.mcp.helpers` (re-exported for convenience).
7
8
 
@@ -26,6 +27,7 @@ from .helpers import (
26
27
  from .prompt_message_extended import PromptMessageExtended
27
28
 
28
29
  __all__ = [
30
+ "Prompt",
29
31
  "PromptMessageExtended",
30
32
  # Helpers
31
33
  "get_text",
@@ -41,3 +43,12 @@ __all__ = [
41
43
  "split_thinking_content",
42
44
  "text_content",
43
45
  ]
46
+
47
+
48
+ def __getattr__(name: str):
49
+ # Lazily import to avoid circular imports with fast_agent.types
50
+ if name == "Prompt":
51
+ from .prompt import Prompt # local import
52
+
53
+ return Prompt
54
+ raise AttributeError(f"module '{__name__}' has no attribute '{name}'")
@@ -0,0 +1,17 @@
1
+ [project]
2
+ name = "fast-agent-app"
3
+ version = "0.1.0"
4
+ description = "a simple fast-agent application"
5
+ readme = "README.md"
6
+ requires-python = "{{python_requires}}"
7
+ dependencies = [
8
+ {{fast_agent_dep}}
9
+ ]
10
+
11
+ [tool.uv]
12
+ package = true
13
+
14
+ # Optional convenience entry point if you later package this app:
15
+ [project.scripts]
16
+ fast-agent-app = "agent:main"
17
+
@@ -1,17 +0,0 @@
1
- """
2
- fast_agent.core package
3
-
4
- Provides core subpackages (executor, logging) and lazily exposes the `Core`
5
- class to avoid circular imports during initialization.
6
- """
7
-
8
- __all__ = ["Core"]
9
-
10
-
11
- def __getattr__(name: str):
12
- if name == "Core":
13
- # Lazy import to avoid importing heavy dependencies during package init
14
- from .core_app import Core
15
-
16
- return Core
17
- raise AttributeError(f"module '{__name__}' has no attribute '{name}'")
File without changes
File without changes