fast-agent-mcp 0.3.3__py3-none-any.whl → 0.3.4__py3-none-any.whl

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 (34) hide show
  1. fast_agent/__init__.py +6 -3
  2. fast_agent/agents/__init__.py +63 -14
  3. fast_agent/cli/commands/go.py +1 -1
  4. fast_agent/config.py +4 -0
  5. fast_agent/core/__init__.py +38 -37
  6. fast_agent/core/direct_factory.py +1 -1
  7. fast_agent/mcp/ui_agent.py +1 -1
  8. fast_agent/resources/examples/data-analysis/analysis-campaign.py +1 -1
  9. fast_agent/resources/examples/data-analysis/analysis.py +1 -1
  10. fast_agent/resources/examples/mcp/elicitations/forms_demo.py +1 -1
  11. fast_agent/resources/examples/mcp/elicitations/game_character.py +1 -1
  12. fast_agent/resources/examples/mcp/elicitations/tool_call.py +1 -1
  13. fast_agent/resources/examples/mcp/state-transfer/agent_one.py +1 -1
  14. fast_agent/resources/examples/mcp/state-transfer/agent_two.py +1 -1
  15. fast_agent/resources/examples/researcher/researcher-eval.py +1 -1
  16. fast_agent/resources/examples/researcher/researcher-imp.py +1 -1
  17. fast_agent/resources/examples/researcher/researcher.py +1 -1
  18. fast_agent/resources/examples/tensorzero/agent.py +1 -1
  19. fast_agent/resources/examples/tensorzero/image_demo.py +1 -1
  20. fast_agent/resources/examples/tensorzero/simple_agent.py +1 -1
  21. fast_agent/resources/examples/workflows/chaining.py +1 -1
  22. fast_agent/resources/examples/workflows/evaluator.py +1 -1
  23. fast_agent/resources/examples/workflows/human_input.py +1 -1
  24. fast_agent/resources/examples/workflows/orchestrator.py +1 -1
  25. fast_agent/resources/examples/workflows/parallel.py +1 -1
  26. fast_agent/resources/examples/workflows/router.py +1 -1
  27. fast_agent/resources/setup/agent.py +1 -1
  28. fast_agent/resources/setup/fastagent.config.yaml +1 -0
  29. fast_agent/ui/mcp_ui_utils.py +12 -1
  30. {fast_agent_mcp-0.3.3.dist-info → fast_agent_mcp-0.3.4.dist-info}/METADATA +2 -2
  31. {fast_agent_mcp-0.3.3.dist-info → fast_agent_mcp-0.3.4.dist-info}/RECORD +34 -34
  32. {fast_agent_mcp-0.3.3.dist-info → fast_agent_mcp-0.3.4.dist-info}/WHEEL +0 -0
  33. {fast_agent_mcp-0.3.3.dist-info → fast_agent_mcp-0.3.4.dist-info}/entry_points.txt +0 -0
  34. {fast_agent_mcp-0.3.3.dist-info → fast_agent_mcp-0.3.4.dist-info}/licenses/LICENSE +0 -0
fast_agent/__init__.py CHANGED
@@ -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",
@@ -1,23 +1,72 @@
1
1
  """
2
2
  Fast Agent - Agent implementations and workflow patterns.
3
3
 
4
- This module exports all agent classes from the fast_agent.agents package,
5
- providing a single import point for both core agents and workflow agents.
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
6
8
  """
7
9
 
8
- # Core agents
10
+ from typing import TYPE_CHECKING
11
+
9
12
  from fast_agent.agents.agent_types import AgentConfig
10
- from fast_agent.agents.llm_agent import LlmAgent
11
- from fast_agent.agents.llm_decorator import LlmDecorator
12
- from fast_agent.agents.mcp_agent import McpAgent
13
- from fast_agent.agents.tool_agent import ToolAgent
14
-
15
- # Workflow agents
16
- from fast_agent.agents.workflow.chain_agent import ChainAgent
17
- from fast_agent.agents.workflow.evaluator_optimizer import EvaluatorOptimizerAgent
18
- from fast_agent.agents.workflow.iterative_planner import IterativePlanner
19
- from fast_agent.agents.workflow.parallel_agent import ParallelAgent
20
- from fast_agent.agents.workflow.router_agent import RouterAgent
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
+
21
70
 
22
71
  __all__ = [
23
72
  # Core agents
@@ -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(
fast_agent/config.py CHANGED
@@ -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)
@@ -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,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,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
  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
  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:
@@ -39,7 +39,18 @@ def _safe_filename(name: str) -> str:
39
39
 
40
40
 
41
41
  def _ensure_output_dir() -> Path:
42
- base = Path.cwd() / ".fastagent" / "ui"
42
+ # Read output directory from settings, defaulting to .fast-agent/ui
43
+ try:
44
+ from fast_agent.config import get_settings
45
+
46
+ settings = get_settings()
47
+ dir_setting = getattr(settings, "mcp_ui_output_dir", ".fast-agent/ui") or ".fast-agent/ui"
48
+ except Exception:
49
+ dir_setting = ".fast-agent/ui"
50
+
51
+ base = Path(dir_setting)
52
+ if not base.is_absolute():
53
+ base = Path.cwd() / base
43
54
  base.mkdir(parents=True, exist_ok=True)
44
55
  return base
45
56
 
@@ -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")
@@ -1,5 +1,5 @@
1
- fast_agent/__init__.py,sha256=sljPsYHqDmv5v0fBpQdhtwBm5IDyu37lwdSQA0IPEwQ,3628
2
- fast_agent/config.py,sha256=RLCYW9k4lgnfJVc3JpBWJscOC2mHw35gkVGrBS46M-4,19945
1
+ fast_agent/__init__.py,sha256=zPSMngBIvbBYyu3jxZp-edxfOBWxCX7YlceMdlqvt9I,3795
2
+ fast_agent/config.py,sha256=URvQMiMlkXd3tImXQpiHVX5wrbzPQF6Aks-WoGGPQkM,20176
3
3
  fast_agent/constants.py,sha256=d5EMSO2msRkjRFz8MgnnhpMnO3woqKP0EcQ4b_yI60w,235
4
4
  fast_agent/context.py,sha256=nBelOqehSH91z3aG2nYhwETP-biRzz-iuA2fqmKdHP8,7700
5
5
  fast_agent/context_dependent.py,sha256=KU1eydVBoIt4bYOZroqxDgE1AUexDaZi7hurE26QsF4,1584
@@ -7,7 +7,7 @@ fast_agent/event_progress.py,sha256=OETeh-4jJGyxvvPAlVTzW4JsCbFUmOTo-ti0ROgtG5M,
7
7
  fast_agent/interfaces.py,sha256=R2C1TzNxAO8Qxaam5oHthfhHRNKoP78FtKSV6vPy_Gk,6251
8
8
  fast_agent/mcp_server_registry.py,sha256=TDCNpQIehsh1PK4y7AWp_rkQMcwYx7FaouUbK3kWNZo,2635
9
9
  fast_agent/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
10
- fast_agent/agents/__init__.py,sha256=kBI2VWTitLyWf8K3dFMyuE-K7Ufp7mkHBomM2K3I8H8,1128
10
+ fast_agent/agents/__init__.py,sha256=WfgtR9MgmJUJI7rb-CUH_10s7308LjxYIYzJRIBZ_9Y,2644
11
11
  fast_agent/agents/agent_types.py,sha256=ugolD3lC2KxSfBYjjRf9HjNATZaFx1o4Fhjb15huSgk,1776
12
12
  fast_agent/agents/llm_agent.py,sha256=iuy3kO5Q-f9bm3tjYLG2Wurd0gK2sLhTfTkSnfVWzSw,8311
13
13
  fast_agent/agents/llm_decorator.py,sha256=IhvMOZVjo1qT4GII0KP000VYTCprzBQBGZPbZwBIEd0,16485
@@ -26,16 +26,16 @@ fast_agent/cli/constants.py,sha256=KawdkaN289nVB02DKPB4IVUJ8-fohIUD0gLfOp0P7B8,5
26
26
  fast_agent/cli/main.py,sha256=H3brvpmDGE0g4WCJc2-volADCjpPmh7cSjedSfzqfOQ,4242
27
27
  fast_agent/cli/terminal.py,sha256=tDN1fJ91Nc_wZJTNafkQuD7Z7gFscvo1PHh-t7Wl-5s,1066
28
28
  fast_agent/cli/commands/check_config.py,sha256=nMiOBs-Sc7XqUU6tLReLn1JPXHqjR0Kuz4rCa3mDXp0,22831
29
- fast_agent/cli/commands/go.py,sha256=VRiHq9h1UGIndLdQJMAwEM6bwTGy-h5n6w__bYCGaHM,15094
29
+ fast_agent/cli/commands/go.py,sha256=o9fT8161dDtLP2F0gWrndzitlPO7q7zvdeRoqs0PavE,15079
30
30
  fast_agent/cli/commands/quickstart.py,sha256=hQZYlvktPdDNdaZOZkBgcvi8u0bMW5yFhz4BLBZ251I,21175
31
31
  fast_agent/cli/commands/server_helpers.py,sha256=BmljUNLIcZdFpffYxEPfJf8rrX3JhTzMA7VONoZLAjM,3650
32
32
  fast_agent/cli/commands/setup.py,sha256=rCp5wUs5kjbHJqi3Jz9ByCpOSvJ7L4KB0hpcKB8qpCM,6377
33
33
  fast_agent/cli/commands/url_parser.py,sha256=v9KoprPBEEST5Fo7qXgbW50GC5vMpxFteKqAT6mFkdI,5991
34
- fast_agent/core/__init__.py,sha256=CnEL3AiklrG7jc0O-8RaF8_PTwBoDaHfmbXo3hOqR-I,2371
34
+ fast_agent/core/__init__.py,sha256=n2ly7SBtFko9H2DPVh8cSqfw9chtiUaokxLmiDpaMyU,2233
35
35
  fast_agent/core/agent_app.py,sha256=cdzNwpb--SUNYbhkUX6RolqVnxJ5WSchxw5I4gFrvpk,16836
36
36
  fast_agent/core/core_app.py,sha256=_8Di00HD2BzWhCAaopAUS0Hzc7pg0249QUUfPuLZ36A,4266
37
37
  fast_agent/core/direct_decorators.py,sha256=0U4_qJl7pdom9mjQ5qwCeb0zBwc5hj-lKFF6zXs62sI,22621
38
- fast_agent/core/direct_factory.py,sha256=HGGnnF4Z9k_N3r0Iin_sp2Ch308To1oKX8JTKHjuUq0,21350
38
+ fast_agent/core/direct_factory.py,sha256=UiylXm5wkGZ9MOn1Fsj4-mB5r3UBFt4fD2Ol3R6jgBk,21340
39
39
  fast_agent/core/error_handling.py,sha256=tZkO8LnXO-qf6jD8a12Pv5fD4NhnN1Ag5_tJ6DwbXjg,631
40
40
  fast_agent/core/exceptions.py,sha256=ENAD_qGG67foxy6vDkIvc-lgopIUQy6O7zvNPpPXaQg,2289
41
41
  fast_agent/core/fastagent.py,sha256=5f9jOteVVV7BzX3b_BsUSo_kdciVukVKw567uu-u3qE,30848
@@ -113,7 +113,7 @@ fast_agent/mcp/prompt_render.py,sha256=AqDaQqM6kqciV9X79S5rsRr3VjcQ_2JOiLaHqpRzs
113
113
  fast_agent/mcp/prompt_serialization.py,sha256=oivhqW3WjKYMTw2zE6_LOt8PY7K1ktZr9z9dk1XH9I0,17906
114
114
  fast_agent/mcp/resource_utils.py,sha256=cu-l9aOy-NFs8tPihYRNjsB2QSuime8KGOGpUvihp84,6589
115
115
  fast_agent/mcp/sampling.py,sha256=3EhEguls5GpVMr_SYrVQcYSRXlryGmqidn-zbFaeDMk,6711
116
- fast_agent/mcp/ui_agent.py,sha256=nrnBGS87hHdpbS_9Vl59Z6ar6FKTZMz9Yhmz_9FM8dY,1434
116
+ fast_agent/mcp/ui_agent.py,sha256=OBGEuFpOPPK7EthPRwzxmtzu1SDIeZy-vHwdRsyDNQk,1424
117
117
  fast_agent/mcp/ui_mixin.py,sha256=iOlSNJVPwiMUun0clCiWyot59Qgy8R7ZvUgH2afRnQA,7662
118
118
  fast_agent/mcp/helpers/__init__.py,sha256=o6-HuX6bEVFnfT_wgclFOVb1NxtOsJEOnHX8L2IqDdw,857
119
119
  fast_agent/mcp/helpers/content_helpers.py,sha256=2os7b6pZHLE-Nu9uEgw5yafQtadH9J2jyAG_g9Wk8uA,5828
@@ -127,8 +127,8 @@ fast_agent/mcp/prompts/prompt_server.py,sha256=yc7Ui_9nR0oQimZjX19wp4AkGJIWB8pYP
127
127
  fast_agent/mcp/prompts/prompt_template.py,sha256=SAklXs9wujYqqEWv5vzRI_cdjSmGnWlDmPLZ5qkXZO4,15695
128
128
  fast_agent/mcp/server/__init__.py,sha256=AJFNzdmuHPRL3jqFhDVDJste_zYE_KJ3gGYDsbghvl0,156
129
129
  fast_agent/mcp/server/agent_server.py,sha256=zJMFnPfXPsbLt5ZyGMTN90YzIzwV7TaSQ4WYs9lnB2Q,20194
130
- fast_agent/resources/examples/data-analysis/analysis-campaign.py,sha256=0Z7TZ6QsSwYJPGJZRMl8742980QHDgibC6Jjw2jOHms,7292
131
- fast_agent/resources/examples/data-analysis/analysis.py,sha256=y9lSSZp_HfgiJy0M23heYSI61bazK89PIzM9m1nVP_o,2579
130
+ fast_agent/resources/examples/data-analysis/analysis-campaign.py,sha256=SnDQm_e_cm0IZEKdWizUedXxpIWWj-5K70wmcM1Tw2Y,7277
131
+ fast_agent/resources/examples/data-analysis/analysis.py,sha256=9ConAzZWtWRuEzmE3jCfH_AXoTyZiBVKAUkwg6PeFcA,2564
132
132
  fast_agent/resources/examples/data-analysis/fastagent.config.yaml,sha256=ini94PHyJCfgpjcjHKMMbGuHs6LIj46F1NwY0ll5HVk,1609
133
133
  fast_agent/resources/examples/data-analysis/mount-point/WA_Fn-UseC_-HR-Employee-Attrition.csv,sha256=pcMeOL1_r8m8MziE6xgbBrQbjl5Ijo98yycZn7O-dlk,227977
134
134
  fast_agent/resources/examples/mcp/elicitations/elicitation_account_server.py,sha256=ZrPcj0kv75QXvtN0J_vhCmwxycnAodv35adUBZ9_8Ss,2903
@@ -136,26 +136,26 @@ fast_agent/resources/examples/mcp/elicitations/elicitation_forms_server.py,sha25
136
136
  fast_agent/resources/examples/mcp/elicitations/elicitation_game_server.py,sha256=z9kHdNc6XWjAWkvet7inVBIcYxfWoxU6n9iHrsEqU7A,6206
137
137
  fast_agent/resources/examples/mcp/elicitations/fastagent.config.yaml,sha256=HPe0cuFL4-rzS4hHNgZiLMPEv0jYXOp7iSsrUliAaqs,1080
138
138
  fast_agent/resources/examples/mcp/elicitations/fastagent.secrets.yaml.example,sha256=1vkBmh9f4mnQZm6-2B7vyU1OepImviPW5MNAJkvUIPE,394
139
- fast_agent/resources/examples/mcp/elicitations/forms_demo.py,sha256=caC7UFs2-vWEWporu9deqpfSJOYya482kr-tIIWC9U4,4351
140
- fast_agent/resources/examples/mcp/elicitations/game_character.py,sha256=Me4-vNsjZTFkV95fUXMYpmDaT8v6hnXsXey9eh53W8k,2374
139
+ fast_agent/resources/examples/mcp/elicitations/forms_demo.py,sha256=Bs4EWWGRkRdABq-AvdV8Y5oN49c7-oDG2yC6C1W--14,4336
140
+ fast_agent/resources/examples/mcp/elicitations/game_character.py,sha256=Br91dWo7qXOxYmZOYgRt-IxiQ6oCHHxI2jwN32HWsAo,2359
141
141
  fast_agent/resources/examples/mcp/elicitations/game_character_handler.py,sha256=kD4aBZ98GoKDqCKTVlTqsNaQZifUxbfYXHPA93aTGSE,11217
142
- fast_agent/resources/examples/mcp/elicitations/tool_call.py,sha256=HgaP1AP96As9Vql69Ov2CXH4uPccjOeZSRa0n8-hBGc,531
143
- fast_agent/resources/examples/mcp/state-transfer/agent_one.py,sha256=lVEIidIcFyeYwsR6h_2h5Rnmfu_KnHIrRo53Aehg85Q,456
144
- fast_agent/resources/examples/mcp/state-transfer/agent_two.py,sha256=7TC2Z3uuL-x27LXGweh7ziHwDXFZYJq9f5x-DAWTsqM,479
142
+ fast_agent/resources/examples/mcp/elicitations/tool_call.py,sha256=14cNyAaYfmZtOY2QC0uJzRGXxh8NNZ5-PhAXjGA-z1s,516
143
+ fast_agent/resources/examples/mcp/state-transfer/agent_one.py,sha256=4Rm7m59WoObfl20XxGfqzrgOlpgpqBkSscwk4n5Wv2A,441
144
+ fast_agent/resources/examples/mcp/state-transfer/agent_two.py,sha256=deiJmGDJHWspaVIluGraXEmWWam_Eei41jjfGq9Yzig,464
145
145
  fast_agent/resources/examples/mcp/state-transfer/fastagent.config.yaml,sha256=A6CUcDqnFXlkhsA_Mw-I0ys2Egn7a37AfVSWl89lvxA,797
146
146
  fast_agent/resources/examples/mcp/state-transfer/fastagent.secrets.yaml.example,sha256=pVGyO_c6j3BToNpnL0d6W1FD5iLcuCNBrqA1sYMV-cA,422
147
147
  fast_agent/resources/examples/researcher/fastagent.config.yaml,sha256=TbVMHQCKcytVr44o0cpsgP-tAJ2S2OlTgn6VnXSTIpM,2242
148
- fast_agent/resources/examples/researcher/researcher-eval.py,sha256=qr_9TpzOSwEFENR5bkgieDyIrbst6nWjtlwDJzp7ok4,1834
149
- fast_agent/resources/examples/researcher/researcher-imp.py,sha256=LmNcs6rOYnJabspxo6xgpiI9tzHVE1sJUFwLK3QrV2E,7880
150
- fast_agent/resources/examples/researcher/researcher.py,sha256=MZfGvHfxqutzkCNEkAKioXGxHn-E4JggRQQz43wV5pM,1334
148
+ fast_agent/resources/examples/researcher/researcher-eval.py,sha256=MATCUXSiYh0JXvl-PrjS7gmaFsFxDWvfsAtLf3_jht0,1819
149
+ fast_agent/resources/examples/researcher/researcher-imp.py,sha256=XjlhxhpUYO6t8IJp8pXXg4nL-8weqe3IqzT4PM-ZiK8,7865
150
+ fast_agent/resources/examples/researcher/researcher.py,sha256=u4IpLvl58gvmCYdj_0jCGDaJbqZWWtIaJnrlD9C7TzI,1319
151
151
  fast_agent/resources/examples/tensorzero/.env.sample,sha256=khV_apbP4XprpNuIaeVicnHaVHEkwIdWGyZCvW1OLDc,35
152
152
  fast_agent/resources/examples/tensorzero/Makefile,sha256=BOvcJvPBAJN2MDh8brLsy2leHGwuT_bBjPzakOsUSCU,427
153
153
  fast_agent/resources/examples/tensorzero/README.md,sha256=xsA1qWjg2mI240jlbeFYWjYm_pQLsGeQiPiSlEtayeQ,2126
154
- fast_agent/resources/examples/tensorzero/agent.py,sha256=TCa3eIsvQufJ8Gy1yXK0MjgOEtdiU8y5qpjIARTyypU,1273
154
+ fast_agent/resources/examples/tensorzero/agent.py,sha256=Njxm2Nix-Vdil5XYokkBvFJdAHJOINdrI8__gPccEZw,1258
155
155
  fast_agent/resources/examples/tensorzero/docker-compose.yml,sha256=YgmWgoHHDDTGeqRlU8Z21mLdEqo48IoKZsnlXaDZkrc,2851
156
156
  fast_agent/resources/examples/tensorzero/fastagent.config.yaml,sha256=3uJJ9p-0evDG48zr2QneektO4fe_h4uRPh1dyWfe7-k,355
157
- fast_agent/resources/examples/tensorzero/image_demo.py,sha256=fq1Ac1ZksL_AiMN1T2r-tBRW79sWtbEY_QCViLsIAMQ,2124
158
- fast_agent/resources/examples/tensorzero/simple_agent.py,sha256=jpK4p3KbfOfjhqLJNUFX4L_zll05buI2Cru8JBRnrIY,859
157
+ fast_agent/resources/examples/tensorzero/image_demo.py,sha256=ChaNOlEa3Vk5fIpalvu4mCL0PwxIOHeCorU41qDSU0o,2109
158
+ fast_agent/resources/examples/tensorzero/simple_agent.py,sha256=_eVVpWk-ae1qllK2WWbRi-qKo6FzIcmLb3G4CGlB91U,844
159
159
  fast_agent/resources/examples/tensorzero/demo_images/clam.jpg,sha256=K1NWrhz5QMfgjZfDMMIVctWwbwTyJSsPHLDaUMbcn18,22231
160
160
  fast_agent/resources/examples/tensorzero/demo_images/crab.png,sha256=W7R3bSKKDmZCjxJEmFk0pBXVhXXhfPGM1gIiVuv_eu4,58413
161
161
  fast_agent/resources/examples/tensorzero/demo_images/shrimp.png,sha256=2r3c6yHE25MpVRDTTwxjAGs1ShJ2UI-qxJqbxa-9ew4,7806
@@ -166,19 +166,19 @@ fast_agent/resources/examples/tensorzero/mcp_server/pyproject.toml,sha256=3AppZ_
166
166
  fast_agent/resources/examples/tensorzero/tensorzero_config/system_schema.json,sha256=q81vtb8eyX1gU0qOhT_BFNo7nI2Lg2o-D_Bvp8watEI,626
167
167
  fast_agent/resources/examples/tensorzero/tensorzero_config/system_template.minijinja,sha256=_Ekz9YuE76pkmwtcMNJeDlih2U5vPRgFB5wFojAVde8,501
168
168
  fast_agent/resources/examples/tensorzero/tensorzero_config/tensorzero.toml,sha256=wYDKzHyX0A2x42d1vF5a72ot304iTP8_i5Y1rzAcCEA,890
169
- fast_agent/resources/examples/workflows/chaining.py,sha256=GOBAwn97Io0mNe6H6l7UKENqsR6FL03HKgcXYhMTUCA,890
170
- fast_agent/resources/examples/workflows/evaluator.py,sha256=gfdjKctKpEiPB23gqgkVpJ_patBuotqt8IFuPTG5i8g,3112
169
+ fast_agent/resources/examples/workflows/chaining.py,sha256=4scVT0znHkFO3XACsWLFWU28guUB32ZPU3ThTktJ4mQ,875
170
+ fast_agent/resources/examples/workflows/evaluator.py,sha256=d0If_G14JeZwvRTugz3FPV18FWQBQmfj-cuZpxZXHzs,3097
171
171
  fast_agent/resources/examples/workflows/fastagent.config.yaml,sha256=qaxk-p7Pl7JepdL3a7BTl0CIp4LHCXies7pFdVWS9xk,783
172
172
  fast_agent/resources/examples/workflows/graded_report.md,sha256=QVF38xEtDIO1a2P-xv2hlBEG6KKYughtFkzDhY2NpzE,2726
173
- fast_agent/resources/examples/workflows/human_input.py,sha256=ammL7aU_U0K3XsjLwmgq0_HznaARVDO8urPEWJYbWqY,807
174
- fast_agent/resources/examples/workflows/orchestrator.py,sha256=E99EqLNHKjC9YtuME-HqT0lNCCxiJJPdy2jToOEL7zw,2541
175
- fast_agent/resources/examples/workflows/parallel.py,sha256=JJRxUdEgqHYW5-_ZIFDb4oUx8gsZicyxYwCPYmNWsDE,1841
176
- fast_agent/resources/examples/workflows/router.py,sha256=_XLOsjrjmLe2i-eGmClPASGJjaf57RVQjld6uCuv_Lk,2090
173
+ fast_agent/resources/examples/workflows/human_input.py,sha256=gFuptgiU0mMMtv3F1XI7syCSyVV8tyi5qTOn9ziJdWI,792
174
+ fast_agent/resources/examples/workflows/orchestrator.py,sha256=YWSgH8cDqEuWercgof2aZLbrO0idiSL932ym3lrniNM,2526
175
+ fast_agent/resources/examples/workflows/parallel.py,sha256=kROiRueTm0Wql4EWVjFSyonV5A4gPepm1jllz5alias,1826
176
+ fast_agent/resources/examples/workflows/router.py,sha256=lxMxz6g0_XjYnwzEwKdl9l2hxRsD4PSsaIlhH5nLuQY,2075
177
177
  fast_agent/resources/examples/workflows/short_story.md,sha256=XN9I2kzCcMmke3dE5F2lyRH5iFUZUQ8Sy-hS3rm_Wlc,1153
178
178
  fast_agent/resources/examples/workflows/short_story.txt,sha256=X3y_1AyhLFN2AKzCKvucJtDgAFIJfnlbsbGZO5bBWu0,1187
179
179
  fast_agent/resources/setup/.gitignore,sha256=UQKYvhK6samGg5JZg613XiuGUkUAz2qzE1WfFa8J0mQ,245
180
- fast_agent/resources/setup/agent.py,sha256=co2lm190iQqOlRhup78X5BKHSB-RqLn3tZdxh2yaGhA,422
181
- fast_agent/resources/setup/fastagent.config.yaml,sha256=JpezZSP5-ybUlZJaeQG1EoUONXmzmDhdAR6JIpbb-jA,1356
180
+ fast_agent/resources/setup/agent.py,sha256=cRQfWFkWJxF1TkWASXf8nuHbIDUgyk5o23vyoroSBOY,407
181
+ fast_agent/resources/setup/fastagent.config.yaml,sha256=6X4wywcThmaIyX7yayr0bTAl1AavYqF_T3UVbyyqTPI,1464
182
182
  fast_agent/resources/setup/fastagent.secrets.yaml.example,sha256=ht-i2_SpAyeXG2OnG_vOA1n7gRsGIInxp9g5Nio-jpI,1038
183
183
  fast_agent/resources/setup/pyproject.toml.tmpl,sha256=b_dL9TBAzA4sPOkVZd3psMKFT-g_gef0n2NcANojEqs,343
184
184
  fast_agent/tools/elicitation.py,sha256=8FaNvuN__LAM328VSJ5T4Bg3m8auHraqYvIYv6Eh4KU,13464
@@ -191,13 +191,13 @@ fast_agent/ui/elicitation_form.py,sha256=t3UhBG44YmxTLu1RjCnHwW36eQQaroE45CiBGJB
191
191
  fast_agent/ui/elicitation_style.py,sha256=rtZiJH4CwTdkDLSzDDvThlZyIyuRX0oVNzscKiHvry8,3835
192
192
  fast_agent/ui/enhanced_prompt.py,sha256=w99sJkdAn2WVtIT9hLumhz1DQY-H9a0Qq80JSM0jRg8,40080
193
193
  fast_agent/ui/interactive_prompt.py,sha256=lxY26PNBNihtccO4iI7CxIag_9CxEcbajbIPdzqnEcM,43230
194
- fast_agent/ui/mcp_ui_utils.py,sha256=UVX-VZI7PaJ8JlYuWsletml4K3XrUGUFRn4lqFwsAWg,8099
194
+ fast_agent/ui/mcp_ui_utils.py,sha256=hV7z-yHX86BgdH6CMmN5qyOUjyiegQXLJOa5n5A1vQs,8476
195
195
  fast_agent/ui/mermaid_utils.py,sha256=MpcRyVCPMTwU1XeIxnyFg0fQLjcyXZduWRF8NhEqvXE,5332
196
196
  fast_agent/ui/progress_display.py,sha256=hajDob65PttiJ2mPS6FsCtnmTcnyvDWGn-UqQboXqkQ,361
197
197
  fast_agent/ui/rich_progress.py,sha256=jy6VuUOYFkWXdyvnRTSBPAmmNAP6TJDFw_lgbt_YYLo,7548
198
198
  fast_agent/ui/usage_display.py,sha256=ltJpn_sDzo8PDNSXWx-QdEUbQWUnhmajCItNt5mA5rM,7285
199
- fast_agent_mcp-0.3.3.dist-info/METADATA,sha256=OaL4vvtEurj2Cffo53cry42F1aGNlJxWGMkZj9qmDVg,30462
200
- fast_agent_mcp-0.3.3.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
201
- fast_agent_mcp-0.3.3.dist-info/entry_points.txt,sha256=i6Ujja9J-hRxttOKqTYdbYP_tyaS4gLHg53vupoCSsg,199
202
- fast_agent_mcp-0.3.3.dist-info/licenses/LICENSE,sha256=Gx1L3axA4PnuK4FxsbX87jQ1opoOkSFfHHSytW6wLUU,10935
203
- fast_agent_mcp-0.3.3.dist-info/RECORD,,
199
+ fast_agent_mcp-0.3.4.dist-info/METADATA,sha256=g7siNgLm38P10584TCI_XYthtE4ThNMoTfHFxG6VWg0,30447
200
+ fast_agent_mcp-0.3.4.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
201
+ fast_agent_mcp-0.3.4.dist-info/entry_points.txt,sha256=i6Ujja9J-hRxttOKqTYdbYP_tyaS4gLHg53vupoCSsg,199
202
+ fast_agent_mcp-0.3.4.dist-info/licenses/LICENSE,sha256=Gx1L3axA4PnuK4FxsbX87jQ1opoOkSFfHHSytW6wLUU,10935
203
+ fast_agent_mcp-0.3.4.dist-info/RECORD,,