fast-agent-mcp 0.2.38__py3-none-any.whl → 0.2.40__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.

@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: fast-agent-mcp
3
- Version: 0.2.38
3
+ Version: 0.2.40
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
@@ -24,7 +24,7 @@ mcp_agent/cli/main.py,sha256=XjrgXMBaPKkVqAFo8T9LJz6Tp1-ivrKDOuNYWke99YA,3090
24
24
  mcp_agent/cli/terminal.py,sha256=GRwD-RGW7saIz2IOWZn5vD6JjiArscELBThm1GTFkuI,1065
25
25
  mcp_agent/cli/commands/check_config.py,sha256=JKOHniuMlU1bJ5vmyY7g05HDP7ZYGSQktl19bNx5I4Y,18775
26
26
  mcp_agent/cli/commands/go.py,sha256=LIsOJQuTdfCUcNm7JT-NQDU8cI-GCnYwYjN2VOWxvqs,8658
27
- mcp_agent/cli/commands/quickstart.py,sha256=e4JkGwKGXxVn2yODn50NBxr5-49gqo_3IJVZTVOSPG4,17127
27
+ mcp_agent/cli/commands/quickstart.py,sha256=ZwzfK9-F0gCuFe-qKvhfuBCzVd9t0wHjg8ES9VQZOoI,16305
28
28
  mcp_agent/cli/commands/setup.py,sha256=eOEd4TL-b0DaDeSJMGOfNOsTEItoZ67W88eTP4aP-bo,6482
29
29
  mcp_agent/cli/commands/url_parser.py,sha256=5VdtcHRHzi67YignStVbz7u-rcvNNErw9oJLAUFOtEY,5855
30
30
  mcp_agent/core/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -47,7 +47,7 @@ mcp_agent/executor/executor.py,sha256=E44p6d-o3OMRoP_dNs_cDnyti91LQ3P9eNU88mSi1k
47
47
  mcp_agent/executor/task_registry.py,sha256=PCALFeYtkQrPBg4RBJnlA0aDI8nHclrNkHGUS4kV3W8,1242
48
48
  mcp_agent/executor/workflow_signal.py,sha256=Cg1uZBk3fn8kXhPOg-wINNuVaf3v9pvLD6NbqWy5Z6E,11142
49
49
  mcp_agent/human_input/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
50
- mcp_agent/human_input/elicitation_form.py,sha256=RAVxAWbhTlTWclQ5Tb7OOtWIrZdFsKSssIrEOWUemvk,27004
50
+ mcp_agent/human_input/elicitation_form.py,sha256=x26qQcQFqp7VT19ta8BcgWo9AOtsJEJ2YE4l49NobNY,27095
51
51
  mcp_agent/human_input/elicitation_forms.py,sha256=w8XQ1GfZX8Jw-VB4jnDI0Im4mF-T9Ts8mT2zRZBtL6M,3824
52
52
  mcp_agent/human_input/elicitation_handler.py,sha256=YfVhIhSBc9wuszPS4zoHho4n1pwmIoq13huN4MSRkIs,3305
53
53
  mcp_agent/human_input/elicitation_state.py,sha256=Unl9uhEybUqACCUimnETdfUprJNpYDMq3DdbbHw5oAw,1175
@@ -156,8 +156,8 @@ mcp_agent/resources/examples/workflows/short_story.md,sha256=XN9I2kzCcMmke3dE5F2
156
156
  mcp_agent/resources/examples/workflows/short_story.txt,sha256=X3y_1AyhLFN2AKzCKvucJtDgAFIJfnlbsbGZO5bBWu0,1187
157
157
  mcp_agent/tools/tool_definition.py,sha256=L3Pxl-uLEXqlVoo-bYuFTFALeI-2pIU44YgFhsTKEtM,398
158
158
  mcp_agent/ui/console_display.py,sha256=UKqax5V2TC0hkZZORmmd6UqUk0DGX7A25E3h1k9f42k,10982
159
- fast_agent_mcp-0.2.38.dist-info/METADATA,sha256=oFNrGrMZRDaOR125GzE7PhnjsMxTJGv2vD75Bz_suNY,30983
160
- fast_agent_mcp-0.2.38.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
161
- fast_agent_mcp-0.2.38.dist-info/entry_points.txt,sha256=oKQeSUVn87pJv8_k1NQ7Ak8cXaaXHCnPAOJRCV_uUVg,230
162
- fast_agent_mcp-0.2.38.dist-info/licenses/LICENSE,sha256=Gx1L3axA4PnuK4FxsbX87jQ1opoOkSFfHHSytW6wLUU,10935
163
- fast_agent_mcp-0.2.38.dist-info/RECORD,,
159
+ fast_agent_mcp-0.2.40.dist-info/METADATA,sha256=T4IIN_xQap0Ethg8_1W8rVUyR9k-7od46bpB47kZo8o,30983
160
+ fast_agent_mcp-0.2.40.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
161
+ fast_agent_mcp-0.2.40.dist-info/entry_points.txt,sha256=oKQeSUVn87pJv8_k1NQ7Ak8cXaaXHCnPAOJRCV_uUVg,230
162
+ fast_agent_mcp-0.2.40.dist-info/licenses/LICENSE,sha256=Gx1L3axA4PnuK4FxsbX87jQ1opoOkSFfHHSytW6wLUU,10935
163
+ fast_agent_mcp-0.2.40.dist-info/RECORD,,
@@ -9,7 +9,7 @@ from rich.panel import Panel
9
9
  from rich.table import Table
10
10
 
11
11
  app = typer.Typer(
12
- help="Create example applications",
12
+ help="Create fast-agent quickstarts",
13
13
  no_args_is_help=False, # Allow showing our custom help instead
14
14
  )
15
15
  console = Console()
@@ -227,7 +227,7 @@ def copy_example_files(example_type: str, target_dir: Path, force: bool = False)
227
227
 
228
228
  def show_overview() -> None:
229
229
  """Display an overview of available examples in a nicely formatted table."""
230
- console.print("\n[bold cyan]fast-agent Example Applications[/bold cyan]")
230
+ console.print("\n[bold cyan]fast-agent quickstarts[/bold cyan]")
231
231
  console.print("Build agents and compose workflows through practical examples\n")
232
232
 
233
233
  # Create a table for better organization
@@ -237,31 +237,23 @@ def show_overview() -> None:
237
237
  table.add_column("Files")
238
238
 
239
239
  for name, info in EXAMPLE_TYPES.items():
240
- files_list = "\n".join(f"• {f}" for f in info["files"])
240
+ # Just show file count instead of listing all files
241
+ file_count = len(info["files"])
242
+ files_summary = f"{file_count} files"
241
243
  if "mount_point_files" in info:
242
- files_list += "\n[blue]mount-point:[/blue]\n" + "\n".join(
243
- f" {f}" for f in info["mount_point_files"]
244
- )
245
- table.add_row(f"[green]{name}[/green]", info["description"], files_list)
244
+ mount_count = len(info["mount_point_files"])
245
+ files_summary += f"\n+ {mount_count} data files"
246
+ table.add_row(f"[green]{name}[/green]", info["description"], files_summary)
246
247
 
247
248
  console.print(table)
248
249
 
249
250
  # Show usage instructions in a panel
250
251
  usage_text = (
251
- "[bold]Commands:[/bold]\n"
252
- " fastagent quickstart workflow DIR Create workflow examples in DIR\n"
253
- " fastagent quickstart researcher DIR Create researcher example in 'researcher' subdirectory\n"
254
- " fastagent quickstart data-analysis DIR Create data analysis examples in 'data-analysis' subdirectory\n"
255
- " fastagent quickstart state-transfer DIR Create state transfer examples in 'state-transfer' subdirectory\n"
256
- " fastagent quickstart elicitations DIR Create elicitation examples in 'elicitations' subdirectory\n\n"
252
+ "[bold]Usage:[/bold]\n"
253
+ " [cyan]fast-agent[/cyan] [green]quickstart[/green] [yellow]<name>[/yellow] [dim]\\[directory][/dim]\n\n"
254
+ "[dim]directory optionally overrides the default subdirectory name[/dim]\n\n"
257
255
  "[bold]Options:[/bold]\n"
258
- " --force Overwrite existing files\n\n"
259
- "[bold]Examples:[/bold]\n"
260
- " fastagent quickstart workflow . Create in current directory\n"
261
- " fastagent quickstart researcher . Create in researcher subdirectory\n"
262
- " fastagent quickstart data-analysis . --force Force overwrite files in data-analysis subdirectory\n"
263
- " fastagent quickstart state-transfer . Create state transfer examples\n"
264
- " fastagent quickstart elicitations . Create elicitation form examples"
256
+ " [cyan]--force[/cyan] Overwrite existing files"
265
257
  )
266
258
  console.print(Panel(usage_text, title="Usage", border_style="blue"))
267
259
 
@@ -393,16 +385,16 @@ def _show_completion_message(example_type: str, created: list[str]) -> None:
393
385
  elif example_type == "state-transfer":
394
386
  console.print("Check https://fast-agent.ai for quick start walkthroughs")
395
387
  elif example_type == "elicitations":
396
- console.print("1. Try the forms demo: uv run forms_demo.py")
397
- console.print("2. For the AI assistant example, configure your API keys first")
388
+ console.print("1. Go to the `elicitations` subdirectory (cd elicitations)")
389
+ console.print("2. Try the forms demo: uv run forms_demo.py")
398
390
  console.print("3. Run the game character creator: uv run game_character.py")
399
- console.print("4. Check the README.md for detailed information about elicitations")
391
+ console.print("Check https://fast-agent.ai/mcp/elicitations/ for more details")
400
392
  else:
401
393
  console.print("\n[yellow]No files were created.[/yellow]")
402
394
 
403
395
 
404
396
  @app.callback(invoke_without_command=True)
405
397
  def main(ctx: typer.Context) -> None:
406
- """Create example applications and learn FastAgent patterns."""
398
+ """Quickstart applications for fast-agent."""
407
399
  if ctx.invoked_subcommand is None:
408
400
  show_overview()
@@ -302,7 +302,8 @@ class ElicitationForm:
302
302
  def submit_alt(event):
303
303
  self._accept()
304
304
 
305
- @kb.add("escape")
305
+ # ESC should ALWAYS cancel immediately, no matter what
306
+ @kb.add("escape", eager=True, is_global=True)
306
307
  def cancel(event):
307
308
  self._cancel()
308
309