mini-swe-agent 1.16.0__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.
Files changed (62) hide show
  1. mini_swe_agent-1.16.0.dist-info/METADATA +314 -0
  2. mini_swe_agent-1.16.0.dist-info/RECORD +62 -0
  3. mini_swe_agent-1.16.0.dist-info/WHEEL +5 -0
  4. mini_swe_agent-1.16.0.dist-info/entry_points.txt +5 -0
  5. mini_swe_agent-1.16.0.dist-info/licenses/LICENSE.md +21 -0
  6. mini_swe_agent-1.16.0.dist-info/top_level.txt +1 -0
  7. minisweagent/__init__.py +83 -0
  8. minisweagent/__main__.py +7 -0
  9. minisweagent/agents/__init__.py +1 -0
  10. minisweagent/agents/default.py +131 -0
  11. minisweagent/agents/interactive.py +153 -0
  12. minisweagent/agents/interactive_textual.py +450 -0
  13. minisweagent/config/README.md +10 -0
  14. minisweagent/config/__init__.py +27 -0
  15. minisweagent/config/default.yaml +157 -0
  16. minisweagent/config/extra/__init__.py +1 -0
  17. minisweagent/config/extra/swebench.yaml +230 -0
  18. minisweagent/config/extra/swebench_roulette.yaml +233 -0
  19. minisweagent/config/extra/swebench_xml.yaml +215 -0
  20. minisweagent/config/github_issue.yaml +146 -0
  21. minisweagent/config/mini.tcss +86 -0
  22. minisweagent/config/mini.yaml +158 -0
  23. minisweagent/config/mini_no_temp.yaml +158 -0
  24. minisweagent/environments/__init__.py +31 -0
  25. minisweagent/environments/docker.py +114 -0
  26. minisweagent/environments/extra/__init__.py +0 -0
  27. minisweagent/environments/extra/bubblewrap.py +112 -0
  28. minisweagent/environments/extra/swerex_docker.py +47 -0
  29. minisweagent/environments/local.py +38 -0
  30. minisweagent/environments/singularity.py +97 -0
  31. minisweagent/models/__init__.py +114 -0
  32. minisweagent/models/anthropic.py +35 -0
  33. minisweagent/models/extra/__init__.py +0 -0
  34. minisweagent/models/extra/roulette.py +61 -0
  35. minisweagent/models/litellm_model.py +100 -0
  36. minisweagent/models/litellm_response_api_model.py +80 -0
  37. minisweagent/models/openrouter_model.py +125 -0
  38. minisweagent/models/portkey_model.py +154 -0
  39. minisweagent/models/portkey_response_api_model.py +74 -0
  40. minisweagent/models/requesty_model.py +119 -0
  41. minisweagent/models/test_models.py +42 -0
  42. minisweagent/models/utils/__init__.py +0 -0
  43. minisweagent/models/utils/cache_control.py +54 -0
  44. minisweagent/models/utils/key_per_thread.py +20 -0
  45. minisweagent/models/utils/openai_utils.py +41 -0
  46. minisweagent/py.typed +0 -0
  47. minisweagent/run/__init__.py +1 -0
  48. minisweagent/run/extra/__init__.py +0 -0
  49. minisweagent/run/extra/config.py +114 -0
  50. minisweagent/run/extra/swebench.py +266 -0
  51. minisweagent/run/extra/swebench_single.py +79 -0
  52. minisweagent/run/extra/utils/__init__.py +0 -0
  53. minisweagent/run/extra/utils/batch_progress.py +178 -0
  54. minisweagent/run/github_issue.py +87 -0
  55. minisweagent/run/hello_world.py +36 -0
  56. minisweagent/run/inspector.py +212 -0
  57. minisweagent/run/mini.py +108 -0
  58. minisweagent/run/mini_extra.py +44 -0
  59. minisweagent/run/utils/__init__.py +0 -0
  60. minisweagent/run/utils/save.py +78 -0
  61. minisweagent/utils/__init__.py +0 -0
  62. minisweagent/utils/log.py +36 -0
@@ -0,0 +1,157 @@
1
+ agent:
2
+ system_template: |
3
+ You are a helpful assistant that can interact with a computer.
4
+
5
+ Your response must contain exactly ONE bash code block with ONE command (or commands connected with && or ||).
6
+ Include a THOUGHT section before your command where you explain your reasoning process.
7
+ Format your response as shown in <format_example>.
8
+
9
+ <format_example>
10
+ Your reasoning and analysis here. Explain why you want to perform the action.
11
+
12
+ ```bash
13
+ your_command_here
14
+ ```
15
+ </format_example>
16
+
17
+ Failure to follow these rules will cause your response to be rejected.
18
+ instance_template: |
19
+ Please solve this issue: {{task}}
20
+
21
+ You can execute bash commands and edit files to implement the necessary changes.
22
+
23
+ ## Recommended Workflow
24
+
25
+ This workflows should be done step-by-step so that you can iterate on your changes and any possible problems.
26
+
27
+ 1. Analyze the codebase by finding and reading relevant files
28
+ 2. Create a script to reproduce the issue
29
+ 3. Edit the source code to resolve the issue
30
+ 4. Verify your fix works by running your script again
31
+ 5. Test edge cases to ensure your fix is robust
32
+ 6. Submit your changes and finish your work by issuing the following command: `echo COMPLETE_TASK_AND_SUBMIT_FINAL_OUTPUT`.
33
+ Do not combine it with any other command. <important>After this command, you cannot continue working on this task.</important>
34
+
35
+ ## Important Rules
36
+
37
+ 1. Every response must contain exactly one action
38
+ 2. The action must be enclosed in triple backticks
39
+ 3. Directory or environment variable changes are not persistent. Every action is executed in a new subshell.
40
+ However, you can prefix any action with `MY_ENV_VAR=MY_VALUE cd /path/to/working/dir && ...` or write/load environment variables from files
41
+
42
+ <system_information>
43
+ {{system}} {{release}} {{version}} {{machine}}
44
+ </system_information>
45
+
46
+ ## Formatting your response
47
+
48
+ Here is an example of a correct response:
49
+
50
+ <example_response>
51
+ THOUGHT: I need to understand the structure of the repository first. Let me check what files are in the current directory to get a better understanding of the codebase.
52
+
53
+ ```bash
54
+ ls -la
55
+ ```
56
+ </example_response>
57
+
58
+ ## Useful command examples
59
+
60
+ ### Create a new file:
61
+
62
+ ```bash
63
+ cat <<'EOF' > newfile.py
64
+ import numpy as np
65
+ hello = "world"
66
+ print(hello)
67
+ EOF
68
+ ```
69
+
70
+ ### Edit files with sed:
71
+
72
+ {%- if system == "Darwin" -%}
73
+ <important>
74
+ You are on MacOS. For all the below examples, you need to use `sed -i ''` instead of `sed -i`.
75
+ </important>
76
+ {%- endif -%}
77
+
78
+ ```bash
79
+ # Replace all occurrences
80
+ sed -i 's/old_string/new_string/g' filename.py
81
+
82
+ # Replace only first occurrence
83
+ sed -i 's/old_string/new_string/' filename.py
84
+
85
+ # Replace first occurrence on line 1
86
+ sed -i '1s/old_string/new_string/' filename.py
87
+
88
+ # Replace all occurrences in lines 1-10
89
+ sed -i '1,10s/old_string/new_string/g' filename.py
90
+ ```
91
+
92
+ ### View file content:
93
+
94
+ ```bash
95
+ # View specific lines with numbers
96
+ nl -ba filename.py | sed -n '10,20p'
97
+ ```
98
+
99
+ ### Any other command you want to run
100
+
101
+ ```bash
102
+ anything
103
+ ```
104
+ action_observation_template: |
105
+ <returncode>{{output.returncode}}</returncode>
106
+ {% if output.output | length < 10000 -%}
107
+ <output>
108
+ {{ output.output -}}
109
+ </output>
110
+ {%- else -%}
111
+ <warning>
112
+ The output of your last command was too long.
113
+ Please try a different command that produces less output.
114
+ If you're looking at a file you can try use head, tail or sed to view a smaller number of lines selectively.
115
+ If you're using grep or find and it produced too much output, you can use a more selective search pattern.
116
+ If you really need to see something from the full command's output, you can redirect output to a file and then search in that file.
117
+ </warning>
118
+ {%- set elided_chars = output.output | length - 10000 -%}
119
+ <output_head>
120
+ {{ output.output[:5000] }}
121
+ </output_head>
122
+ <elided_chars>
123
+ {{ elided_chars }} characters elided
124
+ </elided_chars>
125
+ <output_tail>
126
+ {{ output.output[-5000:] }}
127
+ </output_tail>
128
+ {%- endif -%}
129
+ format_error_template: |
130
+ Please always provide EXACTLY ONE action in triple backticks, found {{actions|length}} actions.
131
+ If you want to end the task, please issue the following command: `echo COMPLETE_TASK_AND_SUBMIT_FINAL_OUTPUT`
132
+ without any other command.
133
+ Else, please format your response exactly as follows:
134
+
135
+ <response_example>
136
+ Here are some thoughts about why you want to perform the action.
137
+
138
+ ```bash
139
+ <action>
140
+ ```
141
+ </response_example>
142
+
143
+ Note: In rare cases, if you need to reference a similar format in your command, you might have
144
+ to proceed in two steps, first writing TRIPLEBACKTICKSBASH, then replacing them with ```bash.
145
+ step_limit: 0.
146
+ cost_limit: 0.
147
+ environment:
148
+ env:
149
+ PAGER: cat
150
+ MANPAGER: cat
151
+ LESS: -R
152
+ PIP_PROGRESS_BAR: 'off'
153
+ TQDM_DISABLE: '1'
154
+ model:
155
+ model_kwargs:
156
+ temperature: 0.0
157
+ drop_params: true
@@ -0,0 +1 @@
1
+ """Extra configuration files for mini-SWE-agent."""
@@ -0,0 +1,230 @@
1
+ agent:
2
+ system_template: |
3
+ You are a helpful assistant that can interact multiple times with a computer shell to solve programming tasks.
4
+ Your response must contain exactly ONE bash code block with ONE command (or commands connected with && or ||).
5
+
6
+ Include a THOUGHT section before your command where you explain your reasoning process.
7
+ Format your response as shown in <format_example>.
8
+
9
+ <format_example>
10
+ THOUGHT: Your reasoning and analysis here
11
+
12
+ ```bash
13
+ your_command_here
14
+ ```
15
+ </format_example>
16
+
17
+ Failure to follow these rules will cause your response to be rejected.
18
+ instance_template: |
19
+ <pr_description>
20
+ Consider the following PR description:
21
+ {{task}}
22
+ </pr_description>
23
+
24
+ <instructions>
25
+ # Task Instructions
26
+
27
+ ## Overview
28
+ You're a software engineer interacting continuously with a computer by submitting commands.
29
+ You'll be helping implement necessary changes to meet requirements in the PR description.
30
+ Your task is specifically to make changes to non-test files in the current directory in order to fix the issue described in the PR description in a way that is general and consistent with the codebase.
31
+
32
+ IMPORTANT: This is an interactive process where you will think and issue ONE command, see its result, then think and issue your next command.
33
+
34
+ For each response:
35
+ 1. Include a THOUGHT section explaining your reasoning and what you're trying to accomplish
36
+ 2. Provide exactly ONE bash command to execute
37
+
38
+ ## Important Boundaries
39
+ - MODIFY: Regular source code files in /testbed (this is the working directory for all your subsequent commands)
40
+ - DO NOT MODIFY: Tests, configuration files (pyproject.toml, setup.cfg, etc.)
41
+
42
+ ## Recommended Workflow
43
+ 1. Analyze the codebase by finding and reading relevant files
44
+ 2. Create a script to reproduce the issue
45
+ 3. Edit the source code to resolve the issue
46
+ 4. Verify your fix works by running your script again
47
+ 5. Test edge cases to ensure your fix is robust
48
+
49
+ ## Command Execution Rules
50
+ You are operating in an environment where
51
+ 1. You write a single command
52
+ 2. The system executes that command in a subshell
53
+ 3. You see the result
54
+ 4. You write your next command
55
+
56
+ Each response should include:
57
+ 1. A **THOUGHT** section where you explain your reasoning and plan
58
+ 2. A single bash code block with your command
59
+
60
+ Format your responses like this:
61
+
62
+ <format_example>
63
+ THOUGHT: Here I explain my reasoning process, analysis of the current situation,
64
+ and what I'm trying to accomplish with the command below.
65
+
66
+ ```bash
67
+ your_command_here
68
+ ```
69
+ </format_example>
70
+
71
+ Commands must be specified in a single bash code block:
72
+
73
+ ```bash
74
+ your_command_here
75
+ ```
76
+
77
+ **CRITICAL REQUIREMENTS:**
78
+ - Your response SHOULD include a THOUGHT section explaining your reasoning
79
+ - Your response MUST include EXACTLY ONE bash code block
80
+ - This bash block MUST contain EXACTLY ONE command (or a set of commands connected with && or ||)
81
+ - If you include zero or multiple bash blocks, or no command at all, YOUR RESPONSE WILL FAIL
82
+ - Do NOT try to run multiple independent commands in separate blocks in one response
83
+ - Directory or environment variable changes are not persistent. Every action is executed in a new subshell.
84
+ - However, you can prefix any action with `MY_ENV_VAR=MY_VALUE cd /path/to/working/dir && ...` or write/load environment variables from files
85
+
86
+ Example of a CORRECT response:
87
+ <example_response>
88
+ THOUGHT: I need to understand the structure of the repository first. Let me check what files are in the current directory to get a better understanding of the codebase.
89
+
90
+ ```bash
91
+ ls -la
92
+ ```
93
+ </example_response>
94
+
95
+ Example of an INCORRECT response:
96
+ <example_response>
97
+ THOUGHT: I need to examine the codebase and then look at a specific file. I'll run multiple commands to do this.
98
+
99
+ ```bash
100
+ ls -la
101
+ ```
102
+
103
+ Now I'll read the file:
104
+
105
+ ```bash
106
+ cat file.txt
107
+ ```
108
+ </example_response>
109
+
110
+ If you need to run multiple commands, either:
111
+ 1. Combine them in one block using && or ||
112
+ ```bash
113
+ command1 && command2 || echo "Error occurred"
114
+ ```
115
+
116
+ 2. Wait for the first command to complete, see its output, then issue the next command in your following response.
117
+
118
+ ## Environment Details
119
+ - You have a full Linux shell environment
120
+ - Always use non-interactive flags (-y, -f) for commands
121
+ - Avoid interactive tools like vi, nano, or any that require user input
122
+ - If a command isn't available, you can install it
123
+
124
+ ## Useful Command Examples
125
+
126
+ ### Create a new file:
127
+ ```bash
128
+ cat <<'EOF' > newfile.py
129
+ import numpy as np
130
+ hello = "world"
131
+ print(hello)
132
+ EOF
133
+ ```
134
+
135
+ ### Edit files with sed:
136
+ ```bash
137
+ # Replace all occurrences
138
+ sed -i 's/old_string/new_string/g' filename.py
139
+
140
+ # Replace only first occurrence
141
+ sed -i 's/old_string/new_string/' filename.py
142
+
143
+ # Replace first occurrence on line 1
144
+ sed -i '1s/old_string/new_string/' filename.py
145
+
146
+ # Replace all occurrences in lines 1-10
147
+ sed -i '1,10s/old_string/new_string/g' filename.py
148
+ ```
149
+
150
+ ### View file content:
151
+ ```bash
152
+ # View specific lines with numbers
153
+ nl -ba filename.py | sed -n '10,20p'
154
+ ```
155
+
156
+ ### Any other command you want to run
157
+ ```bash
158
+ anything
159
+ ```
160
+
161
+ ## Submission
162
+ When you've completed your work (reading, editing, testing), and cannot make further progress
163
+ issue exactly the following command:
164
+
165
+ ```bash
166
+ echo COMPLETE_TASK_AND_SUBMIT_FINAL_OUTPUT && git add -A && git diff --cached
167
+ ```
168
+
169
+ This command will submit your work.
170
+ You cannot continue working (reading, editing, testing) in any way on this task after submitting.
171
+ </instructions>
172
+ action_observation_template: |
173
+ <returncode>{{output.returncode}}</returncode>
174
+ {% if output.output | length < 10000 -%}
175
+ <output>
176
+ {{ output.output -}}
177
+ </output>
178
+ {%- else -%}
179
+ <warning>
180
+ The output of your last command was too long.
181
+ Please try a different command that produces less output.
182
+ If you're looking at a file you can try use head, tail or sed to view a smaller number of lines selectively.
183
+ If you're using grep or find and it produced too much output, you can use a more selective search pattern.
184
+ If you really need to see something from the full command's output, you can redirect output to a file and then search in that file.
185
+ </warning>
186
+ {%- set elided_chars = output.output | length - 10000 -%}
187
+ <output_head>
188
+ {{ output.output[:5000] }}
189
+ </output_head>
190
+ <elided_chars>
191
+ {{ elided_chars }} characters elided
192
+ </elided_chars>
193
+ <output_tail>
194
+ {{ output.output[-5000:] }}
195
+ </output_tail>
196
+ {%- endif -%}
197
+ format_error_template: |
198
+ Please always provide EXACTLY ONE action in triple backticks, found {{actions|length}} actions.
199
+
200
+ Please format your action in triple backticks as shown in <response_example>.
201
+
202
+ <response_example>
203
+ Here are some thoughts about why you want to perform the action.
204
+
205
+ ```bash
206
+ <action>
207
+ ```
208
+ </response_example>
209
+
210
+ If you have completed your assignment, please consult the first message about how to
211
+ submit your solution (you will not be able to continue working on this task after that).
212
+ step_limit: 250
213
+ cost_limit: 3.
214
+
215
+ environment:
216
+ cwd: "/testbed"
217
+ timeout: 60
218
+ env:
219
+ PAGER: cat
220
+ MANPAGER: cat
221
+ LESS: -R
222
+ PIP_PROGRESS_BAR: 'off'
223
+ TQDM_DISABLE: '1'
224
+ environment_class: docker
225
+
226
+ model:
227
+ model_name: "anthropic/claude-sonnet-4-5-20250929"
228
+ model_kwargs:
229
+ drop_params: true
230
+ temperature: 0.0
@@ -0,0 +1,233 @@
1
+ agent:
2
+ system_template: |
3
+ You are a helpful assistant that can interact multiple times with a computer shell to solve programming tasks.
4
+ Your response must contain exactly ONE bash code block with ONE command (or commands connected with && or ||).
5
+
6
+ Include a THOUGHT section before your command where you explain your reasoning process.
7
+ Format your response as shown in <format_example>.
8
+
9
+ <format_example>
10
+ THOUGHT: Your reasoning and analysis here
11
+
12
+ ```bash
13
+ your_command_here
14
+ ```
15
+ </format_example>
16
+
17
+ Failure to follow these rules will cause your response to be rejected.
18
+ instance_template: |
19
+ <pr_description>
20
+ Consider the following PR description:
21
+ {{task}}
22
+ </pr_description>
23
+
24
+ <instructions>
25
+ # Task Instructions
26
+
27
+ ## Overview
28
+ You're a software engineer interacting continuously with a computer by submitting commands.
29
+ You'll be helping implement necessary changes to meet requirements in the PR description.
30
+ Your task is specifically to make changes to non-test files in the current directory in order to fix the issue described in the PR description in a way that is general and consistent with the codebase.
31
+
32
+ IMPORTANT: This is an interactive process where you will think and issue ONE command, see its result, then think and issue your next command.
33
+
34
+ For each response:
35
+ 1. Include a THOUGHT section explaining your reasoning and what you're trying to accomplish
36
+ 2. Provide exactly ONE bash command to execute
37
+
38
+ ## Important Boundaries
39
+ - MODIFY: Regular source code files in {{working_dir}}
40
+ - DO NOT MODIFY: Tests, configuration files (pyproject.toml, setup.cfg, etc.)
41
+
42
+ ## Recommended Workflow
43
+ 1. Analyze the codebase by finding and reading relevant files
44
+ 2. Create a script to reproduce the issue
45
+ 3. Edit the source code to resolve the issue
46
+ 4. Verify your fix works by running your script again
47
+ 5. Test edge cases to ensure your fix is robust
48
+
49
+ ## Command Execution Rules
50
+ You are operating in an environment where
51
+ 1. You write a single command
52
+ 2. The system executes that command in a subshell
53
+ 3. You see the result
54
+ 4. You write your next command
55
+
56
+ Each response should include:
57
+ 1. A **THOUGHT** section where you explain your reasoning and plan
58
+ 2. A single bash code block with your command
59
+
60
+ Format your responses like this:
61
+
62
+ <format_example>
63
+ THOUGHT: Here I explain my reasoning process, analysis of the current situation,
64
+ and what I'm trying to accomplish with the command below.
65
+
66
+ ```bash
67
+ your_command_here
68
+ ```
69
+ </format_example>
70
+
71
+ Commands must be specified in a single bash code block:
72
+
73
+ ```bash
74
+ your_command_here
75
+ ```
76
+
77
+ **CRITICAL REQUIREMENTS:**
78
+ - Your response SHOULD include a THOUGHT section explaining your reasoning
79
+ - Your response MUST include EXACTLY ONE bash code block
80
+ - This bash block MUST contain EXACTLY ONE command (or a set of commands connected with && or ||)
81
+ - If you include zero or multiple bash blocks, or no command at all, YOUR RESPONSE WILL FAIL
82
+ - Do NOT try to run multiple independent commands in separate blocks in one response
83
+ - Directory or environment variable changes are not persistent. Every action is executed in a new subshell.
84
+ - However, you can prefix any action with `MY_ENV_VAR=MY_VALUE cd /path/to/working/dir && ...` or write/load environment variables from files
85
+
86
+ Example of a CORRECT response:
87
+ <example_response>
88
+ THOUGHT: I need to understand the structure of the repository first. Let me check what files are in the current directory to get a better understanding of the codebase.
89
+
90
+ ```bash
91
+ ls -la
92
+ ```
93
+ </example_response>
94
+
95
+ Example of an INCORRECT response:
96
+ <example_response>
97
+ THOUGHT: I need to examine the codebase and then look at a specific file. I'll run multiple commands to do this.
98
+
99
+ ```bash
100
+ ls -la
101
+ ```
102
+
103
+ Now I'll read the file:
104
+
105
+ ```bash
106
+ cat file.txt
107
+ ```
108
+ </example_response>
109
+
110
+ If you need to run multiple commands, either:
111
+ 1. Combine them in one block using && or ||
112
+ ```bash
113
+ command1 && command2 || echo "Error occurred"
114
+ ```
115
+
116
+ 2. Wait for the first command to complete, see its output, then issue the next command in your following response.
117
+
118
+ ## Environment Details
119
+ - You have a full Linux shell environment
120
+ - Always use non-interactive flags (-y, -f) for commands
121
+ - Avoid interactive tools like vi, nano, or any that require user input
122
+ - If a command isn't available, you can install it
123
+
124
+ ## Useful Command Examples
125
+
126
+ ### Create a new file:
127
+ ```bash
128
+ cat <<'EOF' > newfile.py
129
+ import numpy as np
130
+ hello = "world"
131
+ print(hello)
132
+ EOF
133
+ ```
134
+
135
+ ### Edit files with sed:
136
+ ```bash
137
+ # Replace all occurrences
138
+ sed -i 's/old_string/new_string/g' filename.py
139
+
140
+ # Replace only first occurrence
141
+ sed -i 's/old_string/new_string/' filename.py
142
+
143
+ # Replace first occurrence on line 1
144
+ sed -i '1s/old_string/new_string/' filename.py
145
+
146
+ # Replace all occurrences in lines 1-10
147
+ sed -i '1,10s/old_string/new_string/g' filename.py
148
+ ```
149
+
150
+ ### View file content:
151
+ ```bash
152
+ # View specific lines with numbers
153
+ nl -ba filename.py | sed -n '10,20p'
154
+ ```
155
+
156
+ ### Any other command you want to run
157
+ ```bash
158
+ anything
159
+ ```
160
+
161
+ ## Submission
162
+ When you've completed your work (reading, editing, testing), and cannot make further progress
163
+ issue exactly the following command:
164
+
165
+ ```bash
166
+ echo COMPLETE_TASK_AND_SUBMIT_FINAL_OUTPUT && git add -A && git diff --cached
167
+ ```
168
+
169
+ This command will submit your work.
170
+ You cannot continue working (reading, editing, testing) in any way on this task after submitting.
171
+ </instructions>
172
+ action_observation_template: |
173
+ <returncode>{{output.returncode}}</returncode>
174
+ {% if output.output | length < 10000 -%}
175
+ <output>
176
+ {{ output.output -}}
177
+ </output>
178
+ {%- else -%}
179
+ <warning>
180
+ The output of your last command was too long.
181
+ Please try a different command that produces less output.
182
+ If you're looking at a file you can try use head, tail or sed to view a smaller number of lines selectively.
183
+ If you're using grep or find and it produced too much output, you can use a more selective search pattern.
184
+ If you really need to see something from the full command's output, you can redirect output to a file and then search in that file.
185
+ </warning>
186
+ {%- set elided_chars = output.output | length - 10000 -%}
187
+ <output_head>
188
+ {{ output.output[:5000] }}
189
+ </output_head>
190
+ <elided_chars>
191
+ {{ elided_chars }} characters elided
192
+ </elided_chars>
193
+ <output_tail>
194
+ {{ output.output[-5000:] }}
195
+ </output_tail>
196
+ {%- endif -%}
197
+ format_error_template: |
198
+ Please always provide EXACTLY ONE action in triple backticks, found {{actions|length}} actions.
199
+
200
+ Please format your action in triple backticks as shown in <response_example>.
201
+
202
+ <response_example>
203
+ Here are some thoughts about why you want to perform the action.
204
+
205
+ ```bash
206
+ <action>
207
+ ```
208
+ </response_example>
209
+
210
+ If you have completed your assignment, please consult the first message about how to
211
+ submit your solution (you will not be able to continue working on this task after that).
212
+ step_limit: 250
213
+ cost_limit: 3.
214
+
215
+ environment:
216
+ cwd: "/testbed"
217
+ timeout: 60
218
+ env:
219
+ PAGER: cat
220
+ MANPAGER: cat
221
+ LESS: -R
222
+ PIP_PROGRESS_BAR: 'off'
223
+ TQDM_DISABLE: '1'
224
+ environment_class: docker
225
+
226
+ model:
227
+ model_name: "roulette"
228
+ model_class: "minisweagent.models.extra.roulette.RouletteModel"
229
+ model_kwargs:
230
+ - model_name: "anthropic/claude-sonnet-4-5-20250929"
231
+ model_kwargs:
232
+ temperature: 0.
233
+ - model_name: "gpt-5"