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.
- {mini_swe_agent-1.17.3.dist-info → mini_swe_agent-1.17.5.dist-info}/METADATA +1 -1
- {mini_swe_agent-1.17.3.dist-info → mini_swe_agent-1.17.5.dist-info}/RECORD +11 -11
- {mini_swe_agent-1.17.3.dist-info → mini_swe_agent-1.17.5.dist-info}/WHEEL +1 -1
- minisweagent/__init__.py +17 -2
- minisweagent/agents/default.py +2 -0
- minisweagent/run/extra/swebench.py +1 -1
- minisweagent/run/extra/swebench_single.py +1 -1
- minisweagent/run/mini.py +1 -1
- {mini_swe_agent-1.17.3.dist-info → mini_swe_agent-1.17.5.dist-info}/entry_points.txt +0 -0
- {mini_swe_agent-1.17.3.dist-info → mini_swe_agent-1.17.5.dist-info}/licenses/LICENSE.md +0 -0
- {mini_swe_agent-1.17.3.dist-info → mini_swe_agent-1.17.5.dist-info}/top_level.txt +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: mini-swe-agent
|
|
3
|
-
Version: 1.17.
|
|
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.
|
|
2
|
-
minisweagent/__init__.py,sha256=
|
|
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=
|
|
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=
|
|
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=
|
|
50
|
-
minisweagent/run/extra/swebench_single.py,sha256=
|
|
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.
|
|
58
|
-
mini_swe_agent-1.17.
|
|
59
|
-
mini_swe_agent-1.17.
|
|
60
|
-
mini_swe_agent-1.17.
|
|
61
|
-
mini_swe_agent-1.17.
|
|
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,,
|
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.
|
|
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()
|
|
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
|
)
|
minisweagent/agents/default.py
CHANGED
|
@@ -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, "
|
|
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, "
|
|
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("
|
|
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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|