fast-agent-mcp 0.3.5__py3-none-any.whl → 0.3.7__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.
- fast_agent/__init__.py +9 -1
- fast_agent/agents/agent_types.py +11 -11
- fast_agent/agents/llm_agent.py +76 -40
- fast_agent/agents/llm_decorator.py +355 -6
- fast_agent/agents/mcp_agent.py +154 -59
- fast_agent/agents/tool_agent.py +60 -4
- fast_agent/agents/workflow/router_agent.py +10 -2
- fast_agent/cli/commands/auth.py +52 -29
- fast_agent/cli/commands/check_config.py +26 -5
- fast_agent/cli/commands/go.py +11 -5
- fast_agent/cli/commands/setup.py +4 -7
- fast_agent/config.py +4 -1
- fast_agent/constants.py +2 -0
- fast_agent/core/agent_app.py +2 -0
- fast_agent/core/direct_factory.py +39 -120
- fast_agent/core/fastagent.py +2 -2
- fast_agent/history/history_exporter.py +3 -3
- fast_agent/llm/fastagent_llm.py +3 -3
- fast_agent/llm/provider/openai/llm_openai.py +57 -8
- fast_agent/mcp/__init__.py +1 -2
- fast_agent/mcp/mcp_aggregator.py +34 -1
- fast_agent/mcp/mcp_connection_manager.py +23 -4
- fast_agent/mcp/oauth_client.py +32 -4
- fast_agent/mcp/prompt_message_extended.py +2 -0
- fast_agent/mcp/prompt_serialization.py +124 -39
- fast_agent/mcp/prompts/prompt_load.py +34 -32
- fast_agent/mcp/prompts/prompt_server.py +26 -11
- fast_agent/resources/setup/.gitignore +6 -0
- fast_agent/resources/setup/agent.py +8 -1
- fast_agent/resources/setup/fastagent.config.yaml +2 -2
- fast_agent/resources/setup/pyproject.toml.tmpl +6 -0
- fast_agent/types/__init__.py +3 -1
- fast_agent/ui/console_display.py +48 -31
- fast_agent/ui/enhanced_prompt.py +119 -64
- fast_agent/ui/interactive_prompt.py +66 -40
- fast_agent/ui/rich_progress.py +12 -8
- {fast_agent_mcp-0.3.5.dist-info → fast_agent_mcp-0.3.7.dist-info}/METADATA +3 -3
- {fast_agent_mcp-0.3.5.dist-info → fast_agent_mcp-0.3.7.dist-info}/RECORD +41 -41
- {fast_agent_mcp-0.3.5.dist-info → fast_agent_mcp-0.3.7.dist-info}/WHEEL +0 -0
- {fast_agent_mcp-0.3.5.dist-info → fast_agent_mcp-0.3.7.dist-info}/entry_points.txt +0 -0
- {fast_agent_mcp-0.3.5.dist-info → fast_agent_mcp-0.3.7.dist-info}/licenses/LICENSE +0 -0
|
@@ -14,14 +14,16 @@ Usage:
|
|
|
14
14
|
)
|
|
15
15
|
"""
|
|
16
16
|
|
|
17
|
-
from typing import Awaitable, Callable, Dict, List,
|
|
17
|
+
from typing import TYPE_CHECKING, Awaitable, Callable, Dict, List, Optional, Union
|
|
18
|
+
|
|
19
|
+
if TYPE_CHECKING:
|
|
20
|
+
from fast_agent.core.agent_app import AgentApp
|
|
18
21
|
|
|
19
22
|
from mcp.types import Prompt, PromptMessage
|
|
20
23
|
from rich import print as rich_print
|
|
21
24
|
|
|
22
25
|
from fast_agent.agents.agent_types import AgentType
|
|
23
26
|
from fast_agent.history.history_exporter import HistoryExporter
|
|
24
|
-
from fast_agent.interfaces import AgentProtocol
|
|
25
27
|
from fast_agent.mcp.mcp_aggregator import SEP
|
|
26
28
|
from fast_agent.types import PromptMessageExtended
|
|
27
29
|
from fast_agent.ui.enhanced_prompt import (
|
|
@@ -41,36 +43,6 @@ SendFunc = Callable[[Union[str, PromptMessage, PromptMessageExtended], str], Awa
|
|
|
41
43
|
AgentGetter = Callable[[str], Optional[object]]
|
|
42
44
|
|
|
43
45
|
|
|
44
|
-
class PromptProvider(Protocol):
|
|
45
|
-
"""Protocol for objects that can provide prompt functionality."""
|
|
46
|
-
|
|
47
|
-
async def list_prompts(
|
|
48
|
-
self, namespace: Optional[str] = None, agent_name: Optional[str] = None
|
|
49
|
-
) -> Mapping[str, List[Prompt]]:
|
|
50
|
-
"""List available prompts."""
|
|
51
|
-
...
|
|
52
|
-
|
|
53
|
-
async def apply_prompt(
|
|
54
|
-
self,
|
|
55
|
-
prompt_name: str,
|
|
56
|
-
prompt_title: Optional[str] = None,
|
|
57
|
-
arguments: Optional[Dict[str, str]] = None,
|
|
58
|
-
agent_name: Optional[str] = None,
|
|
59
|
-
as_template: bool = False,
|
|
60
|
-
**kwargs,
|
|
61
|
-
) -> str:
|
|
62
|
-
"""Apply a prompt."""
|
|
63
|
-
...
|
|
64
|
-
|
|
65
|
-
def _agent(self, agent_name: str) -> AgentProtocol:
|
|
66
|
-
"""Return the concrete agent by name (AgentApp provides this)."""
|
|
67
|
-
...
|
|
68
|
-
|
|
69
|
-
def _show_turn_usage(self, agent_name: str) -> None:
|
|
70
|
-
"""Display usage for a given agent after a turn."""
|
|
71
|
-
...
|
|
72
|
-
|
|
73
|
-
|
|
74
46
|
class InteractivePrompt:
|
|
75
47
|
"""
|
|
76
48
|
Provides interactive prompt functionality that works with any agent implementation.
|
|
@@ -91,7 +63,7 @@ class InteractivePrompt:
|
|
|
91
63
|
send_func: SendFunc,
|
|
92
64
|
default_agent: str,
|
|
93
65
|
available_agents: List[str],
|
|
94
|
-
prompt_provider:
|
|
66
|
+
prompt_provider: "AgentApp",
|
|
95
67
|
default: str = "",
|
|
96
68
|
) -> str:
|
|
97
69
|
"""
|
|
@@ -101,7 +73,7 @@ class InteractivePrompt:
|
|
|
101
73
|
send_func: Function to send messages to agents
|
|
102
74
|
default_agent: Name of the default agent to use
|
|
103
75
|
available_agents: List of available agent names
|
|
104
|
-
prompt_provider:
|
|
76
|
+
prompt_provider: AgentApp instance for accessing agents and prompts
|
|
105
77
|
default: Default message to use when user presses enter
|
|
106
78
|
|
|
107
79
|
Returns:
|
|
@@ -197,6 +169,10 @@ class InteractivePrompt:
|
|
|
197
169
|
# Handle usage display
|
|
198
170
|
await self._show_usage(prompt_provider, agent)
|
|
199
171
|
continue
|
|
172
|
+
elif "show_system" in command_result:
|
|
173
|
+
# Handle system prompt display
|
|
174
|
+
await self._show_system(prompt_provider, agent)
|
|
175
|
+
continue
|
|
200
176
|
elif "show_markdown" in command_result:
|
|
201
177
|
# Handle markdown display
|
|
202
178
|
await self._show_markdown(prompt_provider, agent)
|
|
@@ -286,7 +262,7 @@ class InteractivePrompt:
|
|
|
286
262
|
rich_print()
|
|
287
263
|
|
|
288
264
|
async def _get_all_prompts(
|
|
289
|
-
self, prompt_provider:
|
|
265
|
+
self, prompt_provider: "AgentApp", agent_name: Optional[str] = None
|
|
290
266
|
):
|
|
291
267
|
"""
|
|
292
268
|
Get a list of all available prompts.
|
|
@@ -366,7 +342,7 @@ class InteractivePrompt:
|
|
|
366
342
|
rich_print(f"[dim]{traceback.format_exc()}[/dim]")
|
|
367
343
|
return []
|
|
368
344
|
|
|
369
|
-
async def _list_prompts(self, prompt_provider:
|
|
345
|
+
async def _list_prompts(self, prompt_provider: "AgentApp", agent_name: str) -> None:
|
|
370
346
|
"""
|
|
371
347
|
List available prompts for an agent.
|
|
372
348
|
|
|
@@ -470,7 +446,7 @@ class InteractivePrompt:
|
|
|
470
446
|
|
|
471
447
|
async def _select_prompt(
|
|
472
448
|
self,
|
|
473
|
-
prompt_provider:
|
|
449
|
+
prompt_provider: "AgentApp",
|
|
474
450
|
agent_name: str,
|
|
475
451
|
requested_name: Optional[str] = None,
|
|
476
452
|
send_func: Optional[SendFunc] = None,
|
|
@@ -804,7 +780,7 @@ class InteractivePrompt:
|
|
|
804
780
|
rich_print(f"[red]Error selecting or applying prompt: {e}[/red]")
|
|
805
781
|
rich_print(f"[dim]{traceback.format_exc()}[/dim]")
|
|
806
782
|
|
|
807
|
-
async def _list_tools(self, prompt_provider:
|
|
783
|
+
async def _list_tools(self, prompt_provider: "AgentApp", agent_name: str) -> None:
|
|
808
784
|
"""
|
|
809
785
|
List available tools for an agent.
|
|
810
786
|
|
|
@@ -904,7 +880,7 @@ class InteractivePrompt:
|
|
|
904
880
|
rich_print(f"[red]Error listing tools: {e}[/red]")
|
|
905
881
|
rich_print(f"[dim]{traceback.format_exc()}[/dim]")
|
|
906
882
|
|
|
907
|
-
async def _show_usage(self, prompt_provider:
|
|
883
|
+
async def _show_usage(self, prompt_provider: "AgentApp", agent_name: str) -> None:
|
|
908
884
|
"""
|
|
909
885
|
Show usage statistics for the current agent(s) in a colorful table format.
|
|
910
886
|
|
|
@@ -926,7 +902,57 @@ class InteractivePrompt:
|
|
|
926
902
|
except Exception as e:
|
|
927
903
|
rich_print(f"[red]Error showing usage: {e}[/red]")
|
|
928
904
|
|
|
929
|
-
async def
|
|
905
|
+
async def _show_system(self, prompt_provider: "AgentApp", agent_name: str) -> None:
|
|
906
|
+
"""
|
|
907
|
+
Show the current system prompt for the agent.
|
|
908
|
+
|
|
909
|
+
Args:
|
|
910
|
+
prompt_provider: Provider that has access to agents
|
|
911
|
+
agent_name: Name of the current agent
|
|
912
|
+
"""
|
|
913
|
+
try:
|
|
914
|
+
# Get agent to display from
|
|
915
|
+
assert hasattr(prompt_provider, "_agent"), (
|
|
916
|
+
"Interactive prompt expects an AgentApp with _agent()"
|
|
917
|
+
)
|
|
918
|
+
agent = prompt_provider._agent(agent_name)
|
|
919
|
+
|
|
920
|
+
# Get the system prompt
|
|
921
|
+
system_prompt = getattr(agent, 'instruction', None)
|
|
922
|
+
if not system_prompt:
|
|
923
|
+
rich_print("[yellow]No system prompt available[/yellow]")
|
|
924
|
+
return
|
|
925
|
+
|
|
926
|
+
# Get server count for display
|
|
927
|
+
server_count = 0
|
|
928
|
+
if hasattr(agent, "_aggregator") and hasattr(agent._aggregator, "server_names"):
|
|
929
|
+
server_count = (
|
|
930
|
+
len(agent._aggregator.server_names) if agent._aggregator.server_names else 0
|
|
931
|
+
)
|
|
932
|
+
|
|
933
|
+
# Use the display utility to show the system prompt
|
|
934
|
+
if hasattr(agent, 'display') and agent.display:
|
|
935
|
+
agent.display.show_system_message(
|
|
936
|
+
system_prompt=system_prompt,
|
|
937
|
+
agent_name=agent_name,
|
|
938
|
+
server_count=server_count
|
|
939
|
+
)
|
|
940
|
+
else:
|
|
941
|
+
# Fallback to basic display
|
|
942
|
+
from fast_agent.ui.console_display import ConsoleDisplay
|
|
943
|
+
display = ConsoleDisplay(config=agent.context.config if hasattr(agent, 'context') else None)
|
|
944
|
+
display.show_system_message(
|
|
945
|
+
system_prompt=system_prompt,
|
|
946
|
+
agent_name=agent_name,
|
|
947
|
+
server_count=server_count
|
|
948
|
+
)
|
|
949
|
+
|
|
950
|
+
except Exception as e:
|
|
951
|
+
import traceback
|
|
952
|
+
rich_print(f"[red]Error showing system prompt: {e}[/red]")
|
|
953
|
+
rich_print(f"[dim]{traceback.format_exc()}[/dim]")
|
|
954
|
+
|
|
955
|
+
async def _show_markdown(self, prompt_provider: "AgentApp", agent_name: str) -> None:
|
|
930
956
|
"""
|
|
931
957
|
Show the last assistant message without markdown formatting.
|
|
932
958
|
|
fast_agent/ui/rich_progress.py
CHANGED
|
@@ -98,8 +98,9 @@ class RichProgressDisplay:
|
|
|
98
98
|
task_id = self._progress.add_task(
|
|
99
99
|
"",
|
|
100
100
|
total=None,
|
|
101
|
-
target=
|
|
102
|
-
details=
|
|
101
|
+
target=event.target or task_name,
|
|
102
|
+
details=event.details or "",
|
|
103
|
+
task_name=task_name,
|
|
103
104
|
)
|
|
104
105
|
self._taskmap[task_name] = task_id
|
|
105
106
|
else:
|
|
@@ -136,11 +137,9 @@ class RichProgressDisplay:
|
|
|
136
137
|
# Update basic task information
|
|
137
138
|
update_kwargs: dict[str, object] = {
|
|
138
139
|
"description": description,
|
|
139
|
-
"
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
"task_name": task_name,
|
|
143
|
-
},
|
|
140
|
+
"target": event.target or task_name, # Use task_name as fallback for target
|
|
141
|
+
"details": event.details or "",
|
|
142
|
+
"task_name": task_name,
|
|
144
143
|
}
|
|
145
144
|
|
|
146
145
|
# For TOOL_PROGRESS events, update progress if available
|
|
@@ -149,8 +148,9 @@ class RichProgressDisplay:
|
|
|
149
148
|
update_kwargs["completed"] = event.progress
|
|
150
149
|
update_kwargs["total"] = event.total
|
|
151
150
|
else:
|
|
152
|
-
# If no total,
|
|
151
|
+
# If no total, reset to indeterminate but keep other fields
|
|
153
152
|
self._progress.reset(task_id)
|
|
153
|
+
# Still need to update after reset to apply the fields
|
|
154
154
|
|
|
155
155
|
self._progress.update(task_id, **update_kwargs)
|
|
156
156
|
|
|
@@ -165,7 +165,9 @@ class RichProgressDisplay:
|
|
|
165
165
|
task_id,
|
|
166
166
|
completed=100,
|
|
167
167
|
total=100,
|
|
168
|
+
target=event.target or task_name,
|
|
168
169
|
details=f" / Elapsed Time {time.strftime('%H:%M:%S', time.gmtime(self._progress.tasks[task_id].elapsed))}",
|
|
170
|
+
task_name=task_name,
|
|
169
171
|
)
|
|
170
172
|
for task in self._progress.tasks:
|
|
171
173
|
if task.id != task_id:
|
|
@@ -175,7 +177,9 @@ class RichProgressDisplay:
|
|
|
175
177
|
task_id,
|
|
176
178
|
completed=100,
|
|
177
179
|
total=100,
|
|
180
|
+
target=event.target or task_name,
|
|
178
181
|
details=f" / {event.details}",
|
|
182
|
+
task_name=task_name,
|
|
179
183
|
)
|
|
180
184
|
for task in self._progress.tasks:
|
|
181
185
|
if task.id != task_id:
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: fast-agent-mcp
|
|
3
|
-
Version: 0.3.
|
|
3
|
+
Version: 0.3.7
|
|
4
4
|
Summary: Define, Prompt and Test MCP enabled Agents and Workflows
|
|
5
5
|
Author-email: Shaun Smith <fastagent@llmindset.co.uk>
|
|
6
6
|
License: Apache License
|
|
@@ -211,7 +211,7 @@ Classifier: Programming Language :: Python :: 3
|
|
|
211
211
|
Requires-Python: >=3.13.5
|
|
212
212
|
Requires-Dist: a2a-sdk>=0.3.0
|
|
213
213
|
Requires-Dist: aiohttp>=3.11.13
|
|
214
|
-
Requires-Dist: anthropic>=0.
|
|
214
|
+
Requires-Dist: anthropic>=0.68.0
|
|
215
215
|
Requires-Dist: azure-identity>=1.14.0
|
|
216
216
|
Requires-Dist: boto3>=1.35.0
|
|
217
217
|
Requires-Dist: deprecated>=1.2.18
|
|
@@ -220,7 +220,7 @@ Requires-Dist: fastapi>=0.115.6
|
|
|
220
220
|
Requires-Dist: google-genai>=1.33.0
|
|
221
221
|
Requires-Dist: keyring>=24.3.1
|
|
222
222
|
Requires-Dist: mcp==1.14.0
|
|
223
|
-
Requires-Dist: openai>=1.
|
|
223
|
+
Requires-Dist: openai>=1.108.0
|
|
224
224
|
Requires-Dist: opentelemetry-distro>=0.55b0
|
|
225
225
|
Requires-Dist: opentelemetry-exporter-otlp-proto-http>=1.7.0
|
|
226
226
|
Requires-Dist: opentelemetry-instrumentation-anthropic>=0.43.1; python_version >= '3.10' and python_version < '4.0'
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
fast_agent/__init__.py,sha256=
|
|
2
|
-
fast_agent/config.py,sha256=
|
|
3
|
-
fast_agent/constants.py,sha256=
|
|
1
|
+
fast_agent/__init__.py,sha256=ns6CPmjOL5y7cyV4XgFTfMGcfLnuBJwVTbcjJ5Co3x4,4152
|
|
2
|
+
fast_agent/config.py,sha256=5glgvbPcPZFGG6UG_P8hByryPrteqrYg4pUCep4x6s8,22509
|
|
3
|
+
fast_agent/constants.py,sha256=IoXL5m4L0iLlcRrKerMaK3ZPcS6KCJgK8b_bj1BAR60,345
|
|
4
4
|
fast_agent/context.py,sha256=nBelOqehSH91z3aG2nYhwETP-biRzz-iuA2fqmKdHP8,7700
|
|
5
5
|
fast_agent/context_dependent.py,sha256=KU1eydVBoIt4bYOZroqxDgE1AUexDaZi7hurE26QsF4,1584
|
|
6
6
|
fast_agent/event_progress.py,sha256=OETeh-4jJGyxvvPAlVTzW4JsCbFUmOTo-ti0ROgtG5M,1999
|
|
@@ -8,38 +8,38 @@ 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
10
|
fast_agent/agents/__init__.py,sha256=WfgtR9MgmJUJI7rb-CUH_10s7308LjxYIYzJRIBZ_9Y,2644
|
|
11
|
-
fast_agent/agents/agent_types.py,sha256=
|
|
12
|
-
fast_agent/agents/llm_agent.py,sha256
|
|
13
|
-
fast_agent/agents/llm_decorator.py,sha256=
|
|
14
|
-
fast_agent/agents/mcp_agent.py,sha256=
|
|
15
|
-
fast_agent/agents/tool_agent.py,sha256=
|
|
11
|
+
fast_agent/agents/agent_types.py,sha256=xAFEFWIvOtSnTNDcqqfaAnBx_lFLhnS2_b4hm9xKMo8,1719
|
|
12
|
+
fast_agent/agents/llm_agent.py,sha256=-z2CRz-fcfDOruMQh893WfAZHA5uHgA5VghjjPQui1g,9375
|
|
13
|
+
fast_agent/agents/llm_decorator.py,sha256=gecRmyAXbdgVg6MtBQJQWyGfPoajF4ThDvo0kNhnkK8,29548
|
|
14
|
+
fast_agent/agents/mcp_agent.py,sha256=fyIzcQqXqwCbdW336Hh0LfiGcoND1YWVQUYhVf7_bdM,39059
|
|
15
|
+
fast_agent/agents/tool_agent.py,sha256=UMgNi56XTecP-qnpcIJLzfJ4SFTCTIjz9K49azz8M94,8869
|
|
16
16
|
fast_agent/agents/workflow/chain_agent.py,sha256=Pd8dOH_YdKu3LXsKa4fwqzY_B2qVuhzdfCUiKi5v17s,6293
|
|
17
17
|
fast_agent/agents/workflow/evaluator_optimizer.py,sha256=rhzazy8Aj-ydId6kmBC77TmtYZ5mirSe7eV6PPMWkBA,12040
|
|
18
18
|
fast_agent/agents/workflow/iterative_planner.py,sha256=CTtDpK-YGrFFZMQQmFeE-2I_9-cZv23pNwUoh8w5voA,20478
|
|
19
19
|
fast_agent/agents/workflow/orchestrator_models.py,sha256=VNnnVegnjimgiuL8ZhxkBPhg8tjbeJRGq2JAIl0FAbU,7216
|
|
20
20
|
fast_agent/agents/workflow/orchestrator_prompts.py,sha256=EXKEI174sshkZyPPEnWbwwNafzSPuA39MXL7iqG9cWc,9106
|
|
21
21
|
fast_agent/agents/workflow/parallel_agent.py,sha256=DlJXDURAfx-WBF297tKBLfH93gDFSAPUyEmJr7QNGyw,7476
|
|
22
|
-
fast_agent/agents/workflow/router_agent.py,sha256=
|
|
22
|
+
fast_agent/agents/workflow/router_agent.py,sha256=4jL7AM9FcOvsuf0BSWs-r17xa9vMml0BuF89PiFeVQs,11345
|
|
23
23
|
fast_agent/cli/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
24
24
|
fast_agent/cli/__main__.py,sha256=iF9mNX1ja9Ea9T6gzNg9nfYAuei_vRowfHpUPiFbJVI,1260
|
|
25
25
|
fast_agent/cli/constants.py,sha256=flYDsml3_8wVcGg7T1t5mPFT9CC1M-XMjBigXjX6PuI,559
|
|
26
26
|
fast_agent/cli/main.py,sha256=tERbfQjure3kgKYqzZCNDSLyiVZGXCH2coZ8YBwvq64,4398
|
|
27
27
|
fast_agent/cli/terminal.py,sha256=tDN1fJ91Nc_wZJTNafkQuD7Z7gFscvo1PHh-t7Wl-5s,1066
|
|
28
|
-
fast_agent/cli/commands/auth.py,sha256=
|
|
29
|
-
fast_agent/cli/commands/check_config.py,sha256=
|
|
30
|
-
fast_agent/cli/commands/go.py,sha256=
|
|
28
|
+
fast_agent/cli/commands/auth.py,sha256=JlRT1iHDgF0fPmkbaoiLTm2cTO-qI9KZtrO3wppIVcg,14639
|
|
29
|
+
fast_agent/cli/commands/check_config.py,sha256=D0emHGl6yc9XRq-HjAwS4KfS7a9r5gkA55MyiIRptGQ,26638
|
|
30
|
+
fast_agent/cli/commands/go.py,sha256=mZJv1jXO9xqVUzuDCO5iWKI8ubBUACHO6i3lZwu5NFU,15148
|
|
31
31
|
fast_agent/cli/commands/quickstart.py,sha256=CiSen7VxmKDy7apJZ8rAyC33-BIo0zsUt8cBnEtxg0Y,21241
|
|
32
32
|
fast_agent/cli/commands/server_helpers.py,sha256=Nuded8sZb4Rybwoq5LbXXUgwtJZg-OO04xhmPUp6e98,4073
|
|
33
|
-
fast_agent/cli/commands/setup.py,sha256=
|
|
33
|
+
fast_agent/cli/commands/setup.py,sha256=n5hVjXkKTmuiW8-0ezItVcMHJ92W6NlE2JOGCYiKw0A,6388
|
|
34
34
|
fast_agent/cli/commands/url_parser.py,sha256=v9KoprPBEEST5Fo7qXgbW50GC5vMpxFteKqAT6mFkdI,5991
|
|
35
35
|
fast_agent/core/__init__.py,sha256=n2ly7SBtFko9H2DPVh8cSqfw9chtiUaokxLmiDpaMyU,2233
|
|
36
|
-
fast_agent/core/agent_app.py,sha256=
|
|
36
|
+
fast_agent/core/agent_app.py,sha256=sUGrG7djpVfZXHrzZKulmY6zodiN8JXtZoew_syThuI,16917
|
|
37
37
|
fast_agent/core/core_app.py,sha256=_8Di00HD2BzWhCAaopAUS0Hzc7pg0249QUUfPuLZ36A,4266
|
|
38
38
|
fast_agent/core/direct_decorators.py,sha256=0U4_qJl7pdom9mjQ5qwCeb0zBwc5hj-lKFF6zXs62sI,22621
|
|
39
|
-
fast_agent/core/direct_factory.py,sha256=
|
|
39
|
+
fast_agent/core/direct_factory.py,sha256=fbii3dcmwYJmYh-SKqigKFiSjVfHM5jMOIpHOpbgZoQ,17860
|
|
40
40
|
fast_agent/core/error_handling.py,sha256=tZkO8LnXO-qf6jD8a12Pv5fD4NhnN1Ag5_tJ6DwbXjg,631
|
|
41
41
|
fast_agent/core/exceptions.py,sha256=ENAD_qGG67foxy6vDkIvc-lgopIUQy6O7zvNPpPXaQg,2289
|
|
42
|
-
fast_agent/core/fastagent.py,sha256=
|
|
42
|
+
fast_agent/core/fastagent.py,sha256=0Kvd5rHqVRdkBPdDZQWnV3KzrqGDzDz0_BBRTddCWzE,30828
|
|
43
43
|
fast_agent/core/prompt.py,sha256=qNUFlK3KtU7leYysYUglzBYQnEYiXu__iR_T8189zc0,203
|
|
44
44
|
fast_agent/core/validation.py,sha256=GZ0hUTxkr5KMY1wr6_ifDy91Ycvcx384gZEMOwdie9w,12681
|
|
45
45
|
fast_agent/core/executor/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
@@ -52,7 +52,7 @@ fast_agent/core/logging/json_serializer.py,sha256=kQDkwTHIkHSQgbhDOJhMoetNvfJVMZ
|
|
|
52
52
|
fast_agent/core/logging/listeners.py,sha256=dubbGJoieryyhXN-JF-GrjkW-dgMq93bElM-NBkwA_Q,9366
|
|
53
53
|
fast_agent/core/logging/logger.py,sha256=L-hLfUGFCIABoNYDiUkNHWvFxL6j-6zn5Pc5E7aC44M,11074
|
|
54
54
|
fast_agent/core/logging/transport.py,sha256=i_WYXk5mqyfetT72bCYrbdrMWcuL1HJCyeQKfQg7U2w,16994
|
|
55
|
-
fast_agent/history/history_exporter.py,sha256=
|
|
55
|
+
fast_agent/history/history_exporter.py,sha256=oqkw7qC5rrW73u20tkIqt8yBWPoVzCTC61x2Q2rOKGs,1404
|
|
56
56
|
fast_agent/human_input/__init__.py,sha256=4Jr_0JLJwdQ3iEUNd6Api9InldtnRMDv_WeZq_WEHpA,935
|
|
57
57
|
fast_agent/human_input/elicitation_handler.py,sha256=U6278SJLIu1tosyL6qvo5OVwMSVE03gpGlWoF8YDlvQ,3985
|
|
58
58
|
fast_agent/human_input/elicitation_state.py,sha256=L_vSTpw1-TSDumRYa89Me-twWRbUL2w7GNVhVJmn3KE,1152
|
|
@@ -60,7 +60,7 @@ fast_agent/human_input/form_fields.py,sha256=aE7HdR-wOPO_6HllNaJXtn3BzpPsC4TctUA
|
|
|
60
60
|
fast_agent/human_input/simple_form.py,sha256=_flUll9z93VPjKqLS7gvz4L1_YJ3-KNx8_ZpUaaxhoQ,3508
|
|
61
61
|
fast_agent/human_input/types.py,sha256=3Zz89yIt8SuDAVAaRy-r4Vw0-M6AWahwbqQ0yOcoe20,954
|
|
62
62
|
fast_agent/llm/__init__.py,sha256=MCsrkfnTQXYvn0SofJ-JFmp1l1jX_eidgvegbWbgpsw,184
|
|
63
|
-
fast_agent/llm/fastagent_llm.py,sha256=
|
|
63
|
+
fast_agent/llm/fastagent_llm.py,sha256=LvaGB3cwdnYBxNfPgC6hq-QcLV7dY2yEU97DpifYmik,24177
|
|
64
64
|
fast_agent/llm/memory.py,sha256=POFoBVMHK0wX4oLd3Gz-6Ru3uC4kTCvAqsVQ77e7KJA,8551
|
|
65
65
|
fast_agent/llm/model_database.py,sha256=CXpAncjfFGmzjVyvAaKE5QuvDoLwMWXqUHngv_4oDl8,12609
|
|
66
66
|
fast_agent/llm/model_factory.py,sha256=0quhsqz816GxEM_vuRaJ4n6U8C3lp5KxtIphxepIXVI,12862
|
|
@@ -88,14 +88,14 @@ fast_agent/llm/provider/openai/llm_deepseek.py,sha256=aAMX7pd1qDfl54Z9pLvJTVYETc
|
|
|
88
88
|
fast_agent/llm/provider/openai/llm_generic.py,sha256=O_mmu3o9LeAZ6Kp405I-GfwrS8AuVkyX3tT6aCDCfLY,1168
|
|
89
89
|
fast_agent/llm/provider/openai/llm_google_oai.py,sha256=u1yZVeDds9z2hvydz_kUpFe2RANTNwEtlPgB-OEmgrY,1095
|
|
90
90
|
fast_agent/llm/provider/openai/llm_groq.py,sha256=trNSy3T94_fJWAhVn51iESP_J7sQh_23ufVegKKNHBs,5247
|
|
91
|
-
fast_agent/llm/provider/openai/llm_openai.py,sha256=
|
|
91
|
+
fast_agent/llm/provider/openai/llm_openai.py,sha256=tESYY9djYp3OJi89sbNv1Fw1NlviSP80rJ5yKxUyvys,24843
|
|
92
92
|
fast_agent/llm/provider/openai/llm_openrouter.py,sha256=RBTUkNBRqE8WoucCoVnXP5GhnMwc2tiRacXbMHVf1xM,1943
|
|
93
93
|
fast_agent/llm/provider/openai/llm_tensorzero_openai.py,sha256=yrV0kZ2zRohErdjhvWGDTl0OnPi2SbuzY_8MchXiVTU,5466
|
|
94
94
|
fast_agent/llm/provider/openai/llm_xai.py,sha256=fEyO9XlU3Ef1a-cXdJl0Qe-FmE562cA-UJOGvzqLO6M,1375
|
|
95
95
|
fast_agent/llm/provider/openai/multipart_converter_openai.py,sha256=M7cbM4F8_xycPtVHJv1kBYYBX7KRXyYPCDb1YKQEgo0,20925
|
|
96
96
|
fast_agent/llm/provider/openai/openai_multipart.py,sha256=uuoRMYWiznYksBODbknBuqe65UxEHE1h7AphHpdnCCM,6864
|
|
97
97
|
fast_agent/llm/provider/openai/openai_utils.py,sha256=RI9UgF7SGkZ02bAep7glvLy3erbismmZp7wXDsRoJPQ,2034
|
|
98
|
-
fast_agent/mcp/__init__.py,sha256=
|
|
98
|
+
fast_agent/mcp/__init__.py,sha256=Q-86MBawKmB602VMut8U3uqUQDOrTAMx2HmHKnWT32Q,1371
|
|
99
99
|
fast_agent/mcp/common.py,sha256=MpSC0fLO21RcDz4VApah4C8_LisVGz7OXkR17Xw-9mY,431
|
|
100
100
|
fast_agent/mcp/elicitation_factory.py,sha256=p9tSTcs1KSCXkFcFv1cG7vJBpS1PedOJ5bcBJp0qKw4,3172
|
|
101
101
|
fast_agent/mcp/elicitation_handlers.py,sha256=LWNKn850Ht9V1SGTfAZDptlsgzrycNhOPNsCcqzsuUY,6884
|
|
@@ -104,15 +104,15 @@ fast_agent/mcp/hf_auth.py,sha256=ndDvR7E9LCc5dBiMsStFXtvvX9lYrL-edCq_qJw4lDw,447
|
|
|
104
104
|
fast_agent/mcp/interfaces.py,sha256=xCWONGXe4uQSmmBlMZRD3mflPegTJnz2caVNihEl3ok,2411
|
|
105
105
|
fast_agent/mcp/logger_textio.py,sha256=4YLVXlXghdGm1s_qp1VoAWEX_eWufBfD2iD7l08yoak,3170
|
|
106
106
|
fast_agent/mcp/mcp_agent_client_session.py,sha256=XRCliiYMxbCbkqS2VSrw7tAtnkLIP9HSRpSWaXW02MQ,13663
|
|
107
|
-
fast_agent/mcp/mcp_aggregator.py,sha256=
|
|
108
|
-
fast_agent/mcp/mcp_connection_manager.py,sha256=
|
|
107
|
+
fast_agent/mcp/mcp_aggregator.py,sha256=9Y7dL482vGPXtEcmF6PRNgrPhmbxEyVyt5QxsoWVGaI,54729
|
|
108
|
+
fast_agent/mcp/mcp_connection_manager.py,sha256=uhQqbOP2_LHDMEgrh1-yvGpueloYVbylvAj-pjYCboA,20247
|
|
109
109
|
fast_agent/mcp/mcp_content.py,sha256=F9bgJ57EO9sgWg1m-eTNM6xd9js79mHKf4e9O8K8jrI,8829
|
|
110
110
|
fast_agent/mcp/mime_utils.py,sha256=D6YXNdZJ351BjacSW5o0sVF_hrWuRHD6UyWS4TDlLZI,2915
|
|
111
|
-
fast_agent/mcp/oauth_client.py,sha256=
|
|
111
|
+
fast_agent/mcp/oauth_client.py,sha256=3shN3iwsJNXrk7nbcfUgrzNos3i2RuMuLXA80nR8r6Y,17104
|
|
112
112
|
fast_agent/mcp/prompt.py,sha256=U3jAIjGyGqCpS96zKf0idC7PI4YdFHq-3qjpCsEybxQ,5983
|
|
113
|
-
fast_agent/mcp/prompt_message_extended.py,sha256
|
|
113
|
+
fast_agent/mcp/prompt_message_extended.py,sha256=BsiV2SsiZkDlvqzvjeSowq8Ojvowr9XeEfEXAc-hWL8,4721
|
|
114
114
|
fast_agent/mcp/prompt_render.py,sha256=AqDaQqM6kqciV9X79S5rsRr3VjcQ_2JOiLaHqpRzsS4,2888
|
|
115
|
-
fast_agent/mcp/prompt_serialization.py,sha256=
|
|
115
|
+
fast_agent/mcp/prompt_serialization.py,sha256=QMbY0aa_UlJ7bbxl_muOm2TYeYbBVTEeEMHFmEy99ss,20182
|
|
116
116
|
fast_agent/mcp/resource_utils.py,sha256=cu-l9aOy-NFs8tPihYRNjsB2QSuime8KGOGpUvihp84,6589
|
|
117
117
|
fast_agent/mcp/sampling.py,sha256=3EhEguls5GpVMr_SYrVQcYSRXlryGmqidn-zbFaeDMk,6711
|
|
118
118
|
fast_agent/mcp/ui_agent.py,sha256=OBGEuFpOPPK7EthPRwzxmtzu1SDIeZy-vHwdRsyDNQk,1424
|
|
@@ -124,8 +124,8 @@ fast_agent/mcp/prompts/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3
|
|
|
124
124
|
fast_agent/mcp/prompts/__main__.py,sha256=Jsx30MceW6_f0rU_RJw2qQVB7zj2yRPP8mXXjBuJiNw,145
|
|
125
125
|
fast_agent/mcp/prompts/prompt_constants.py,sha256=Q9W0t3rOXl2LHIG9wcghApUV2QZ1iICuo7SwVwHUf3c,566
|
|
126
126
|
fast_agent/mcp/prompts/prompt_helpers.py,sha256=lvcgG1D61FimGUS5rYifMmmidWwFpIs3Egvjf1sfnkE,7486
|
|
127
|
-
fast_agent/mcp/prompts/prompt_load.py,sha256=
|
|
128
|
-
fast_agent/mcp/prompts/prompt_server.py,sha256=
|
|
127
|
+
fast_agent/mcp/prompts/prompt_load.py,sha256=muv-3u0fJODYFTRWnrPWGJIFHuyDXZd5DudiZEkuVPc,5495
|
|
128
|
+
fast_agent/mcp/prompts/prompt_server.py,sha256=ZuUFqYfiYYE8yTXw0qagGWkZkelQgETGBpzUIdIhLXc,20174
|
|
129
129
|
fast_agent/mcp/prompts/prompt_template.py,sha256=SAklXs9wujYqqEWv5vzRI_cdjSmGnWlDmPLZ5qkXZO4,15695
|
|
130
130
|
fast_agent/mcp/server/__init__.py,sha256=AJFNzdmuHPRL3jqFhDVDJste_zYE_KJ3gGYDsbghvl0,156
|
|
131
131
|
fast_agent/mcp/server/agent_server.py,sha256=zJMFnPfXPsbLt5ZyGMTN90YzIzwV7TaSQ4WYs9lnB2Q,20194
|
|
@@ -178,28 +178,28 @@ fast_agent/resources/examples/workflows/parallel.py,sha256=kROiRueTm0Wql4EWVjFSy
|
|
|
178
178
|
fast_agent/resources/examples/workflows/router.py,sha256=lxMxz6g0_XjYnwzEwKdl9l2hxRsD4PSsaIlhH5nLuQY,2075
|
|
179
179
|
fast_agent/resources/examples/workflows/short_story.md,sha256=XN9I2kzCcMmke3dE5F2lyRH5iFUZUQ8Sy-hS3rm_Wlc,1153
|
|
180
180
|
fast_agent/resources/examples/workflows/short_story.txt,sha256=X3y_1AyhLFN2AKzCKvucJtDgAFIJfnlbsbGZO5bBWu0,1187
|
|
181
|
-
fast_agent/resources/setup/.gitignore,sha256=
|
|
182
|
-
fast_agent/resources/setup/agent.py,sha256=
|
|
183
|
-
fast_agent/resources/setup/fastagent.config.yaml,sha256=
|
|
181
|
+
fast_agent/resources/setup/.gitignore,sha256=bksf0bkvBXtm3F5Nd4F9FB2LaO2RcTbHujYWjq5JKPo,305
|
|
182
|
+
fast_agent/resources/setup/agent.py,sha256=IlZecsc9vTtH2rj9BFF4M6BUgClg5fQ2HasYV1PPIHA,518
|
|
183
|
+
fast_agent/resources/setup/fastagent.config.yaml,sha256=4lYdNTUqBwp7DiyeoUDqBDlqfnFi9JTihOTnix3V9M0,1464
|
|
184
184
|
fast_agent/resources/setup/fastagent.secrets.yaml.example,sha256=ht-i2_SpAyeXG2OnG_vOA1n7gRsGIInxp9g5Nio-jpI,1038
|
|
185
|
-
fast_agent/resources/setup/pyproject.toml.tmpl,sha256=
|
|
185
|
+
fast_agent/resources/setup/pyproject.toml.tmpl,sha256=SxyVPXbtD67yFOx9wIrzq6Yxo4W2PkSR1rrnPkmpjwA,478
|
|
186
186
|
fast_agent/tools/elicitation.py,sha256=8FaNvuN__LAM328VSJ5T4Bg3m8auHraqYvIYv6Eh4KU,13464
|
|
187
|
-
fast_agent/types/__init__.py,sha256=
|
|
187
|
+
fast_agent/types/__init__.py,sha256=y-53m-C4drf4Rx8Bbnk_GAhko9LdNYCyRUWya8e0mos,1004
|
|
188
188
|
fast_agent/types/llm_stop_reason.py,sha256=bWe97OfhALUe8uQeAQOnTdPlYzJiabIfo8u38kPgj3Q,2293
|
|
189
189
|
fast_agent/ui/__init__.py,sha256=MXxTQjFdF7mI_3JHxBPd-aoZYLlxV_-51-Trqgv5-3w,1104
|
|
190
190
|
fast_agent/ui/console.py,sha256=Gjf2QLFumwG1Lav__c07X_kZxxEUSkzV-1_-YbAwcwo,813
|
|
191
|
-
fast_agent/ui/console_display.py,sha256=
|
|
191
|
+
fast_agent/ui/console_display.py,sha256=gzSehwK-6b5Y1amflnhocTWtuRtIjoS990qChR6O8oA,40922
|
|
192
192
|
fast_agent/ui/elicitation_form.py,sha256=t3UhBG44YmxTLu1RjCnHwW36eQQaroE45CiBGJB2czg,29410
|
|
193
193
|
fast_agent/ui/elicitation_style.py,sha256=rtZiJH4CwTdkDLSzDDvThlZyIyuRX0oVNzscKiHvry8,3835
|
|
194
|
-
fast_agent/ui/enhanced_prompt.py,sha256=
|
|
195
|
-
fast_agent/ui/interactive_prompt.py,sha256=
|
|
194
|
+
fast_agent/ui/enhanced_prompt.py,sha256=fryozXzcdYFBFetCTvIZLc04FqI6pBXNqBZoHtOC2m4,41889
|
|
195
|
+
fast_agent/ui/interactive_prompt.py,sha256=WiaW2smPyd6_WLLAnjyPa3-oA-92OtwRwl4tagbH5aQ,44600
|
|
196
196
|
fast_agent/ui/mcp_ui_utils.py,sha256=hV7z-yHX86BgdH6CMmN5qyOUjyiegQXLJOa5n5A1vQs,8476
|
|
197
197
|
fast_agent/ui/mermaid_utils.py,sha256=MpcRyVCPMTwU1XeIxnyFg0fQLjcyXZduWRF8NhEqvXE,5332
|
|
198
198
|
fast_agent/ui/progress_display.py,sha256=hajDob65PttiJ2mPS6FsCtnmTcnyvDWGn-UqQboXqkQ,361
|
|
199
|
-
fast_agent/ui/rich_progress.py,sha256=
|
|
199
|
+
fast_agent/ui/rich_progress.py,sha256=fMiTigtkll4gL4Ik5WYHx-t0a92jfUovj0b580rT6J0,7735
|
|
200
200
|
fast_agent/ui/usage_display.py,sha256=ltJpn_sDzo8PDNSXWx-QdEUbQWUnhmajCItNt5mA5rM,7285
|
|
201
|
-
fast_agent_mcp-0.3.
|
|
202
|
-
fast_agent_mcp-0.3.
|
|
203
|
-
fast_agent_mcp-0.3.
|
|
204
|
-
fast_agent_mcp-0.3.
|
|
205
|
-
fast_agent_mcp-0.3.
|
|
201
|
+
fast_agent_mcp-0.3.7.dist-info/METADATA,sha256=6O9VvjRCmO2Uc_56cspXUVYjt0vOA03p8R4m1ggxKho,31696
|
|
202
|
+
fast_agent_mcp-0.3.7.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
|
203
|
+
fast_agent_mcp-0.3.7.dist-info/entry_points.txt,sha256=i6Ujja9J-hRxttOKqTYdbYP_tyaS4gLHg53vupoCSsg,199
|
|
204
|
+
fast_agent_mcp-0.3.7.dist-info/licenses/LICENSE,sha256=Gx1L3axA4PnuK4FxsbX87jQ1opoOkSFfHHSytW6wLUU,10935
|
|
205
|
+
fast_agent_mcp-0.3.7.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|