mini-swe-agent 1.17.3__py3-none-any.whl → 1.17.5__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.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: mini-swe-agent
3
- Version: 1.17.3
3
+ Version: 1.17.5
4
4
  Summary: Nano SWE Agent - A simple AI software engineering agent
5
5
  Author-email: Kilian Lieret <kilian.lieret@posteo.de>, "Carlos E. Jimenez" <carlosej@princeton.edu>
6
6
  License: MIT License
@@ -1,9 +1,9 @@
1
- mini_swe_agent-1.17.3.dist-info/licenses/LICENSE.md,sha256=D3luWPkdHAe7LBsdD4vzqDAXw6Xewb3G-uczss0uh1s,1094
2
- minisweagent/__init__.py,sha256=eWlfblsvb5AJPNFfCN2buiqwmeZ0h_Ssk7tzniLhn_8,2016
1
+ mini_swe_agent-1.17.5.dist-info/licenses/LICENSE.md,sha256=D3luWPkdHAe7LBsdD4vzqDAXw6Xewb3G-uczss0uh1s,1094
2
+ minisweagent/__init__.py,sha256=mS0JbWq4g29gBFL9_t60714xVzV15INGgXquluOK4RE,2621
3
3
  minisweagent/__main__.py,sha256=FIyAOiw--c3FQ2g240FOM1FdL0lk_PxSpixu0pQ7WFo,194
4
4
  minisweagent/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
5
5
  minisweagent/agents/__init__.py,sha256=cpjJLzg1IGxLM-tZpoMJV9S33ye13XtdBO0x7DU_Lrk,48
6
- minisweagent/agents/default.py,sha256=NLHCTR8CrM0-1aNXT0zZZ044RBYQWACfNzKwAg69IWM,6054
6
+ minisweagent/agents/default.py,sha256=No2GmsgUuWzqxUswFKICJNViVDx3GSjecAgK6NP0Tu4,6176
7
7
  minisweagent/agents/interactive.py,sha256=NBeNamRuqww9ZRhOg1q8xPO9ziUw2gpAVV6hCPbpBxU,7470
8
8
  minisweagent/agents/interactive_textual.py,sha256=yUDMkuvhhnZAP8LtiBWmt5J5WzfWBeR0zNlJbdbEGa0,18153
9
9
  minisweagent/config/README.md,sha256=ZGH5KbFHpkwYOwoZgwP1dHOikuvU11dIG_TqyI73dik,355
@@ -42,20 +42,20 @@ minisweagent/run/__init__.py,sha256=WIoYgHVl7iZF2YncrfV3IttupG6P5KogroKHKECka3A,
42
42
  minisweagent/run/github_issue.py,sha256=35mZoPLc4JV6XXJKRv55lnuKbXf5lDftd51N89-x9J0,3192
43
43
  minisweagent/run/hello_world.py,sha256=erLnEwNmPFLxq3-8zyv66Vy1kIqMqQf97vISX7LrQXg,959
44
44
  minisweagent/run/inspector.py,sha256=P86kOmzySWdK4tx0DHAOfSF1h-s1vHboSsaRD3_0OKQ,7109
45
- minisweagent/run/mini.py,sha256=N3ZvTQmKHNJ9bEaiz5YHjJT4Arg0WtjxGLBTtj8-T0E,4922
45
+ minisweagent/run/mini.py,sha256=08uKeYc_tcAgbi1nbvqmVto-_RhG0NIp5pycvZsk_DM,4930
46
46
  minisweagent/run/mini_extra.py,sha256=ecA1PnTWElpO60G9RktvVLtUOf3bZ_ESmnSttS6izhQ,1465
47
47
  minisweagent/run/extra/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
48
48
  minisweagent/run/extra/config.py,sha256=KDMwg6eQCxbwI6P1phosCwaLQhJQXB4ti65M_HoxU-g,3892
49
- minisweagent/run/extra/swebench.py,sha256=sO3LnjLXdU6Zbo409YhxVdizU8LaQcJUdcD8Tj6saMw,11741
50
- minisweagent/run/extra/swebench_single.py,sha256=KmoUkD6UQ1P0MY_73-OtYuQAsNPmOLlZIZSYKZGs5MQ,3699
49
+ minisweagent/run/extra/swebench.py,sha256=kqLazI4ZOX54ubFE0Md1THOtcdYdW1-7MCBu_z0lza8,11735
50
+ minisweagent/run/extra/swebench_single.py,sha256=JHIZkF60_AXfp2LC6CdEqABisEch2XB_udr9bjEO-yM,3693
51
51
  minisweagent/run/extra/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
52
52
  minisweagent/run/extra/utils/batch_progress.py,sha256=URgnm5MpUA6liESNFqDIbzELM869PbXro7jKzvdbiv0,6804
53
53
  minisweagent/run/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
54
54
  minisweagent/run/utils/save.py,sha256=bokvblZ1SaIvCXimkRQqgvERKmVM0jn8SF7UoHBeerQ,2546
55
55
  minisweagent/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
56
56
  minisweagent/utils/log.py,sha256=ruDMNKMrVC9NPvCeHwO3QYz5jsVNUGQB2dRAEAPAWp8,996
57
- mini_swe_agent-1.17.3.dist-info/METADATA,sha256=zowefUb3iP7jiHwasuE_WQc40kshknJQpzlli4ix0mk,14836
58
- mini_swe_agent-1.17.3.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
59
- mini_swe_agent-1.17.3.dist-info/entry_points.txt,sha256=d1_yRbTaGjs1UXHa6JQK0sKDGBIVGm8oeW0k2kfbJgQ,182
60
- mini_swe_agent-1.17.3.dist-info/top_level.txt,sha256=zKF4t8bFpV87fdVABZt2Da-vnb4Vkh_CxkwQx5YT4Ew,13
61
- mini_swe_agent-1.17.3.dist-info/RECORD,,
57
+ mini_swe_agent-1.17.5.dist-info/METADATA,sha256=G47BDX4x97YUXUpe3ccX2-VfbsqFGUZO5xnL6dgyOCM,14836
58
+ mini_swe_agent-1.17.5.dist-info/WHEEL,sha256=wUyA8OaulRlbfwMtmQsvNngGrxQHAvkKcvRmdizlJi0,92
59
+ mini_swe_agent-1.17.5.dist-info/entry_points.txt,sha256=d1_yRbTaGjs1UXHa6JQK0sKDGBIVGm8oeW0k2kfbJgQ,182
60
+ mini_swe_agent-1.17.5.dist-info/top_level.txt,sha256=zKF4t8bFpV87fdVABZt2Da-vnb4Vkh_CxkwQx5YT4Ew,13
61
+ mini_swe_agent-1.17.5.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (80.9.0)
2
+ Generator: setuptools (80.10.2)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5
 
minisweagent/__init__.py CHANGED
@@ -8,7 +8,7 @@ This file provides:
8
8
  unless you want the static type checking.
9
9
  """
10
10
 
11
- __version__ = "1.17.3"
11
+ __version__ = "1.17.5"
12
12
 
13
13
  import os
14
14
  from pathlib import Path
@@ -17,6 +17,7 @@ from typing import Any, Protocol
17
17
  import dotenv
18
18
  from platformdirs import user_config_dir
19
19
  from rich.console import Console
20
+ from rich.panel import Panel
20
21
 
21
22
  from minisweagent.utils.log import logger
22
23
 
@@ -27,7 +28,21 @@ global_config_dir.mkdir(parents=True, exist_ok=True)
27
28
  global_config_file = Path(global_config_dir) / ".env"
28
29
 
29
30
  if not os.getenv("MSWEA_SILENT_STARTUP"):
30
- Console().print(
31
+ console = Console()
32
+ console.print(
33
+ Panel(
34
+ "[bold]mini-swe-agent v2.0 is coming soon.[/bold]\n\n"
35
+ "It will be even more flexible, extensible and performant. "
36
+ "However, [bold]breaking changes[/bold] were necessary.\n\n"
37
+ "To stay with the current major version for now, you can pin your dependency: "
38
+ "[bold white]mini-swe-agent~=1.0[/bold white]",
39
+ border_style="bold red",
40
+ title="BREAKING CHANGES AHEAD",
41
+ title_align="left",
42
+ expand=False,
43
+ )
44
+ )
45
+ console.print(
31
46
  f"👋 This is [bold green]mini-swe-agent[/bold green] version [bold green]{__version__}[/bold green].\n"
32
47
  f"Loading global config from [bold green]'{global_config_file}'[/bold green]"
33
48
  )
@@ -135,4 +135,6 @@ class DefaultAgent:
135
135
  """Raises Submitted exception with final output if the agent has finished its task."""
136
136
  lines = output.get("output", "").lstrip().splitlines(keepends=True)
137
137
  if lines and lines[0].strip() in ["MINI_SWE_AGENT_FINAL_OUTPUT", "COMPLETE_TASK_AND_SUBMIT_FINAL_OUTPUT"]:
138
+ if output.get("returncode", 0) != 0:
139
+ return # Command failed - let agent see error and retry
138
140
  raise Submitted("".join(lines[1:]))
@@ -199,7 +199,7 @@ def main(
199
199
  output: str = typer.Option("", "-o", "--output", help="Output directory", rich_help_panel="Basic"),
200
200
  workers: int = typer.Option(1, "-w", "--workers", help="Number of worker threads for parallel processing", rich_help_panel="Basic"),
201
201
  model: str | None = typer.Option(None, "-m", "--model", help="Model to use", rich_help_panel="Basic"),
202
- model_class: str | None = typer.Option(None, "-c", "--model-class", help="Model class to use (e.g., 'anthropic' or 'minisweagent.models.anthropic.AnthropicModel')", rich_help_panel="Advanced"),
202
+ model_class: str | None = typer.Option(None, "--model-class", help="Model class to use (e.g., 'anthropic' or 'minisweagent.models.anthropic.AnthropicModel')", rich_help_panel="Advanced"),
203
203
  redo_existing: bool = typer.Option(False, "--redo-existing", help="Redo existing instances", rich_help_panel="Data selection"),
204
204
  config_spec: Path = typer.Option( builtin_config_dir / "extra" / "swebench.yaml", "-c", "--config", help="Path to a config file", rich_help_panel="Basic"),
205
205
  environment_class: str | None = typer.Option( None, "--environment-class", help="Environment type to use. Recommended are docker or singularity", rich_help_panel="Advanced"),
@@ -30,7 +30,7 @@ def main(
30
30
  split: str = typer.Option("dev", "--split", help="Dataset split", rich_help_panel="Data selection"),
31
31
  instance_spec: str = typer.Option(0, "-i", "--instance", help="SWE-Bench instance ID or index", rich_help_panel="Data selection"),
32
32
  model_name: str | None = typer.Option(None, "-m", "--model", help="Model to use", rich_help_panel="Basic"),
33
- model_class: str | None = typer.Option(None, "-c", "--model-class", help="Model class to use (e.g., 'anthropic' or 'minisweagent.models.anthropic.AnthropicModel')", rich_help_panel="Advanced"),
33
+ model_class: str | None = typer.Option(None, "--model-class", help="Model class to use (e.g., 'anthropic' or 'minisweagent.models.anthropic.AnthropicModel')", rich_help_panel="Advanced"),
34
34
  config_path: Path = typer.Option( builtin_config_dir / "extra" / "swebench.yaml", "-c", "--config", help="Path to a config file", rich_help_panel="Basic"),
35
35
  environment_class: str | None = typer.Option(None, "--environment-class", rich_help_panel="Advanced"),
36
36
  exit_immediately: bool = typer.Option( False, "--exit-immediately", help="Exit immediately when the agent wants to finish instead of prompting.", rich_help_panel="Basic"),
minisweagent/run/mini.py CHANGED
@@ -84,7 +84,7 @@ def main(
84
84
  if model_class is not None:
85
85
  config.setdefault("model", {})["model_class"] = model_class
86
86
  model = get_model(model_name, config.get("model", {}))
87
- env = LocalEnvironment(**config.get("env", {}))
87
+ env = LocalEnvironment(**config.get("environment", {}))
88
88
 
89
89
  # Both visual flag and the MSWEA_VISUAL_MODE_DEFAULT flip the mode, so it's essentially a XOR
90
90
  agent_class = InteractiveAgent