@elizaos/sweagent-root 2.0.0-alpha

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 (323) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +270 -0
  3. package/package.json +71 -0
  4. package/python/LICENSE +21 -0
  5. package/python/config/README.md +15 -0
  6. package/python/config/bash_only.yaml +222 -0
  7. package/python/config/benchmarks/250212_sweagent_heavy_sbl.yaml +188 -0
  8. package/python/config/benchmarks/250225_anthropic_filemap_simple_review.yaml +75 -0
  9. package/python/config/benchmarks/250522_anthropic_filemap_simple_review.yaml +92 -0
  10. package/python/config/benchmarks/250526_anthropic_filemap_simple_review_sbl.yaml +93 -0
  11. package/python/config/benchmarks/anthropic_filemap_multilingual.yaml +66 -0
  12. package/python/config/coding_challenge.yaml +104 -0
  13. package/python/config/default.yaml +69 -0
  14. package/python/config/default_backticks.yaml +69 -0
  15. package/python/config/default_mm_no_images.yaml +82 -0
  16. package/python/config/default_mm_with_images.yaml +83 -0
  17. package/python/config/demo/default.yaml +80 -0
  18. package/python/config/demo/no_instructions.yaml +69 -0
  19. package/python/config/demo/only_bash.yaml +60 -0
  20. package/python/config/exotic/default_shell.yaml +52 -0
  21. package/python/config/exotic/windowed_replace.yaml +125 -0
  22. package/python/config/exotic/windowed_replace_late_repro.yaml +127 -0
  23. package/python/config/human/human.yaml +24 -0
  24. package/python/config/human/human_demo.yaml +52 -0
  25. package/python/config/sweagent_0_7/07.yaml +101 -0
  26. package/python/config/sweagent_0_7/07_fcalling.yaml +100 -0
  27. package/python/config/sweagent_0_7/07_from_url.yaml +114 -0
  28. package/python/config/sweagent_0_7/07_thought_action.yaml +102 -0
  29. package/python/config/sweagent_0_7/07_thought_action_xml.yaml +96 -0
  30. package/python/mlc_config.json +44 -0
  31. package/python/pyproject.toml +262 -0
  32. package/python/sweagent/__init__.py +114 -0
  33. package/python/sweagent/__main__.py +4 -0
  34. package/python/sweagent/agent/__init__.py +0 -0
  35. package/python/sweagent/agent/action_sampler.py +317 -0
  36. package/python/sweagent/agent/agents.py +1294 -0
  37. package/python/sweagent/agent/extra/shell_agent.py +106 -0
  38. package/python/sweagent/agent/history_processors.py +399 -0
  39. package/python/sweagent/agent/hooks/__init__.py +0 -0
  40. package/python/sweagent/agent/hooks/abstract.py +139 -0
  41. package/python/sweagent/agent/hooks/status.py +34 -0
  42. package/python/sweagent/agent/models.py +896 -0
  43. package/python/sweagent/agent/problem_statement.py +312 -0
  44. package/python/sweagent/agent/reviewer.py +664 -0
  45. package/python/sweagent/environment/__init__.py +0 -0
  46. package/python/sweagent/environment/hooks/__init__.py +0 -0
  47. package/python/sweagent/environment/hooks/abstract.py +60 -0
  48. package/python/sweagent/environment/hooks/status.py +28 -0
  49. package/python/sweagent/environment/repo.py +219 -0
  50. package/python/sweagent/environment/swe_env.py +276 -0
  51. package/python/sweagent/exceptions.py +54 -0
  52. package/python/sweagent/inspector/README.md +6 -0
  53. package/python/sweagent/inspector/__init__.py +0 -0
  54. package/python/sweagent/inspector/favicon.ico +0 -0
  55. package/python/sweagent/inspector/fileViewer.js +354 -0
  56. package/python/sweagent/inspector/icons/computer.png +0 -0
  57. package/python/sweagent/inspector/icons/edit_icon.svg +11 -0
  58. package/python/sweagent/inspector/icons/swe-agent-logo-50.png +0 -0
  59. package/python/sweagent/inspector/icons/swellama_blue.png +0 -0
  60. package/python/sweagent/inspector/icons/swellama_brown.png +0 -0
  61. package/python/sweagent/inspector/icons/swellama_grey.png +0 -0
  62. package/python/sweagent/inspector/icons/swellama_tan.png +0 -0
  63. package/python/sweagent/inspector/index.html +25 -0
  64. package/python/sweagent/inspector/server.py +354 -0
  65. package/python/sweagent/inspector/static.py +169 -0
  66. package/python/sweagent/inspector/style.css +454 -0
  67. package/python/sweagent/run/__init__.py +0 -0
  68. package/python/sweagent/run/_progress.py +158 -0
  69. package/python/sweagent/run/batch_instances.py +419 -0
  70. package/python/sweagent/run/common.py +387 -0
  71. package/python/sweagent/run/compare_runs.py +123 -0
  72. package/python/sweagent/run/extract_pred.py +19 -0
  73. package/python/sweagent/run/hooks/__init__.py +0 -0
  74. package/python/sweagent/run/hooks/abstract.py +67 -0
  75. package/python/sweagent/run/hooks/apply_patch.py +106 -0
  76. package/python/sweagent/run/hooks/open_pr.py +244 -0
  77. package/python/sweagent/run/hooks/swe_bench_evaluate.py +113 -0
  78. package/python/sweagent/run/inspector_cli.py +493 -0
  79. package/python/sweagent/run/merge_predictions.py +64 -0
  80. package/python/sweagent/run/quick_stats.py +96 -0
  81. package/python/sweagent/run/remove_unfinished.py +63 -0
  82. package/python/sweagent/run/rich_test.py +91 -0
  83. package/python/sweagent/run/run.py +147 -0
  84. package/python/sweagent/run/run_batch.py +442 -0
  85. package/python/sweagent/run/run_replay.py +219 -0
  86. package/python/sweagent/run/run_shell.py +155 -0
  87. package/python/sweagent/run/run_single.py +225 -0
  88. package/python/sweagent/run/run_traj_to_demo.py +85 -0
  89. package/python/sweagent/tools/__init__.py +0 -0
  90. package/python/sweagent/tools/bundle.py +57 -0
  91. package/python/sweagent/tools/commands.py +220 -0
  92. package/python/sweagent/tools/parsing.py +619 -0
  93. package/python/sweagent/tools/tools.py +430 -0
  94. package/python/sweagent/tools/utils.py +108 -0
  95. package/python/sweagent/types.py +102 -0
  96. package/python/sweagent/utils/__init__.py +0 -0
  97. package/python/sweagent/utils/config.py +80 -0
  98. package/python/sweagent/utils/files.py +27 -0
  99. package/python/sweagent/utils/github.py +118 -0
  100. package/python/sweagent/utils/jinja_warnings.py +14 -0
  101. package/python/sweagent/utils/log.py +175 -0
  102. package/python/sweagent/utils/patch_formatter.py +152 -0
  103. package/python/sweagent/utils/serialization.py +45 -0
  104. package/python/tests/__init__.py +0 -0
  105. package/python/tests/conftest.py +191 -0
  106. package/python/tests/test_agent.py +258 -0
  107. package/python/tests/test_batch_instance.py +43 -0
  108. package/python/tests/test_commands/_interactive_dummy.py +35 -0
  109. package/python/tests/test_commands/interactive_dummy_wrapper.sh +29 -0
  110. package/python/tests/test_data/config_files/dummy_interactive.yaml +62 -0
  111. package/python/tests/test_data/data_sources/ctf/crypto/Katy/Dockerfile +20 -0
  112. package/python/tests/test_data/data_sources/ctf/crypto/Katy/README.md +13 -0
  113. package/python/tests/test_data/data_sources/ctf/crypto/Katy/challenge.json +12 -0
  114. package/python/tests/test_data/data_sources/ctf/crypto/Katy/customrandom.c +50 -0
  115. package/python/tests/test_data/data_sources/ctf/crypto/Katy/docker-compose.yml +14 -0
  116. package/python/tests/test_data/data_sources/ctf/crypto/Katy/release +0 -0
  117. package/python/tests/test_data/data_sources/ctf/crypto/Katy/server +0 -0
  118. package/python/tests/test_data/data_sources/ctf/crypto/Katy/solver.py +12 -0
  119. package/python/tests/test_data/data_sources/ctf/forensics/flash/README.md +16 -0
  120. package/python/tests/test_data/data_sources/ctf/forensics/flash/challenge.json +9 -0
  121. package/python/tests/test_data/data_sources/ctf/forensics/flash/flash_c8429a430278283c0e571baebca3d139.zip +0 -0
  122. package/python/tests/test_data/data_sources/ctf/misc/networking_1/README.md +15 -0
  123. package/python/tests/test_data/data_sources/ctf/misc/networking_1/challenge.json +10 -0
  124. package/python/tests/test_data/data_sources/ctf/misc/networking_1/networking.pcap +0 -0
  125. package/python/tests/test_data/data_sources/ctf/pwn/warmup/Dockerfile +28 -0
  126. package/python/tests/test_data/data_sources/ctf/pwn/warmup/README.md +14 -0
  127. package/python/tests/test_data/data_sources/ctf/pwn/warmup/challenge.json +14 -0
  128. package/python/tests/test_data/data_sources/ctf/pwn/warmup/docker-compose.yml +14 -0
  129. package/python/tests/test_data/data_sources/ctf/pwn/warmup/flag.txt +1 -0
  130. package/python/tests/test_data/data_sources/ctf/pwn/warmup/warmup +0 -0
  131. package/python/tests/test_data/data_sources/ctf/pwn/warmup/warmup.c +26 -0
  132. package/python/tests/test_data/data_sources/ctf/pwn/warmup/warmup.py +9 -0
  133. package/python/tests/test_data/data_sources/ctf/rev/rock/README.md +14 -0
  134. package/python/tests/test_data/data_sources/ctf/rev/rock/challenge.json +8 -0
  135. package/python/tests/test_data/data_sources/ctf/rev/rock/rock +0 -0
  136. package/python/tests/test_data/data_sources/ctf/rev/rock/rock.cpp +167 -0
  137. package/python/tests/test_data/data_sources/ctf/rev/rock/solution.cpp +24 -0
  138. package/python/tests/test_data/data_sources/ctf/rev/rock/test_solver/solution.py +6 -0
  139. package/python/tests/test_data/data_sources/ctf/rev/rock/test_solver/test.sh +10 -0
  140. package/python/tests/test_data/data_sources/ctf/web/i_got_id_demo/000-default.conf +18 -0
  141. package/python/tests/test_data/data_sources/ctf/web/i_got_id_demo/Dockerfile +20 -0
  142. package/python/tests/test_data/data_sources/ctf/web/i_got_id_demo/cgi/file.pl +38 -0
  143. package/python/tests/test_data/data_sources/ctf/web/i_got_id_demo/cgi/forms.pl +40 -0
  144. package/python/tests/test_data/data_sources/ctf/web/i_got_id_demo/cgi/hello.pl +11 -0
  145. package/python/tests/test_data/data_sources/ctf/web/i_got_id_demo/challenge.json +12 -0
  146. package/python/tests/test_data/data_sources/ctf/web/i_got_id_demo/docker-compose.yml +14 -0
  147. package/python/tests/test_data/data_sources/ctf/web/i_got_id_demo/flag +1 -0
  148. package/python/tests/test_data/data_sources/ctf/web/i_got_id_demo/index.html +11 -0
  149. package/python/tests/test_data/data_sources/ctf/web/i_got_id_demo/solution.txt +1 -0
  150. package/python/tests/test_data/data_sources/debug_20240322.json +1 -0
  151. package/python/tests/test_data/data_sources/expert_instances.yaml +16 -0
  152. package/python/tests/test_data/data_sources/human_eval.json +1 -0
  153. package/python/tests/test_data/data_sources/simple_instances.yaml +3 -0
  154. package/python/tests/test_data/data_sources/simple_instances_long.yaml +30 -0
  155. package/python/tests/test_data/data_sources/swe-bench-dev-easy.json +1 -0
  156. package/python/tests/test_data/data_sources/swe-bench-dev-easy_first_only.json +1 -0
  157. package/python/tests/test_data/data_sources/swe-bench-lite-test.json +1 -0
  158. package/python/tests/test_data/trajectories/gpt4__swe-agent-test-repo__default_from_url__t-0.00__p-0.95__c-3.00__install-1/6e44b9__sweagenttestrepo-1c2844.traj +342 -0
  159. package/python/tests/test_data/trajectories/gpt4__swe-agent-test-repo__default_from_url__t-0.00__p-0.95__c-3.00__install-1/solution_missing_colon.py +15 -0
  160. package/python/tests/test_data/trajectories/gpt4__swe-agent__test-repo__default_from_url__t-0.00__p-0.95__c-3.00__install-1/args.yaml +518 -0
  161. package/python/tests/test_data/trajectories/gpt4__swe-agent__test-repo__default_from_url__t-0.00__p-0.95__c-3.00__install-1/swe-agent__test-repo-i1.traj +124 -0
  162. package/python/tests/test_data/trajectories/gpt4__swe-bench-dev-easy_first_only__default__t-0.00__p-0.95__c-3.00__install-1/all_preds.jsonl +1 -0
  163. package/python/tests/test_data/trajectories/gpt4__swe-bench-dev-easy_first_only__default__t-0.00__p-0.95__c-3.00__install-1/args.yaml +520 -0
  164. package/python/tests/test_data/trajectories/gpt4__swe-bench-dev-easy_first_only__default__t-0.00__p-0.95__c-3.00__install-1/patches/pydicom__pydicom-1458.patch +18 -0
  165. package/python/tests/test_data/trajectories/gpt4__swe-bench-dev-easy_first_only__default__t-0.00__p-0.95__c-3.00__install-1/pydicom__pydicom-1458.traj +257 -0
  166. package/python/tests/test_env.py +66 -0
  167. package/python/tests/test_env_utils.py +129 -0
  168. package/python/tests/test_history_processors.py +40 -0
  169. package/python/tests/test_models.py +23 -0
  170. package/python/tests/test_openai_live.py +164 -0
  171. package/python/tests/test_packaging.py +7 -0
  172. package/python/tests/test_parsing.py +131 -0
  173. package/python/tests/test_problem_statement_multimodal.py +111 -0
  174. package/python/tests/test_quick_stats.py +42 -0
  175. package/python/tests/test_run.py +37 -0
  176. package/python/tests/test_run_batch.py +110 -0
  177. package/python/tests/test_run_hooks.py +114 -0
  178. package/python/tests/test_run_replay.py +33 -0
  179. package/python/tests/test_run_single.py +125 -0
  180. package/python/tests/test_tools_command_parsing.py +193 -0
  181. package/python/tests/test_utils.py +15 -0
  182. package/python/tests/tools/__init__.py +0 -0
  183. package/python/tests/tools/conftest.py +12 -0
  184. package/python/tests/tools/test_default_utils.py +153 -0
  185. package/python/tests/tools/test_edit_replace.py +0 -0
  186. package/python/tests/tools/test_split_string.py +82 -0
  187. package/python/tests/utils.py +29 -0
  188. package/python/tools/diff_state/bin/_state_diff_state +52 -0
  189. package/python/tools/diff_state/config.yaml +2 -0
  190. package/python/tools/edit_anthropic/bin/_state_anthropic +21 -0
  191. package/python/tools/edit_anthropic/bin/str_replace_editor +710 -0
  192. package/python/tools/edit_anthropic/config.yaml +56 -0
  193. package/python/tools/edit_anthropic/install.sh +3 -0
  194. package/python/tools/filemap/bin/filemap +45 -0
  195. package/python/tools/filemap/config.yaml +9 -0
  196. package/python/tools/filemap/install.sh +2 -0
  197. package/python/tools/forfeit/bin/exit_forfeit +5 -0
  198. package/python/tools/forfeit/config.yaml +5 -0
  199. package/python/tools/image_tools/bin/view_image +36 -0
  200. package/python/tools/image_tools/config.yaml +9 -0
  201. package/python/tools/multilingual_setup/bin/do_nothing +2 -0
  202. package/python/tools/multilingual_setup/config.yaml +1 -0
  203. package/python/tools/multilingual_setup/install.sh +45 -0
  204. package/python/tools/registry/bin/_read_env +10 -0
  205. package/python/tools/registry/bin/_write_env +10 -0
  206. package/python/tools/registry/config.yaml +1 -0
  207. package/python/tools/registry/install.sh +6 -0
  208. package/python/tools/registry/lib/__init__.py +0 -0
  209. package/python/tools/registry/lib/registry.py +56 -0
  210. package/python/tools/review_on_submit_m/README.md +6 -0
  211. package/python/tools/review_on_submit_m/bin/submit +54 -0
  212. package/python/tools/review_on_submit_m/config.yaml +6 -0
  213. package/python/tools/review_on_submit_m/install.sh +0 -0
  214. package/python/tools/search/bin/find_file +31 -0
  215. package/python/tools/search/bin/search_dir +39 -0
  216. package/python/tools/search/bin/search_file +55 -0
  217. package/python/tools/search/config.yaml +37 -0
  218. package/python/tools/search/install.sh +3 -0
  219. package/python/tools/submit/bin/submit +17 -0
  220. package/python/tools/submit/config.yaml +5 -0
  221. package/python/tools/web_browser/bin/click_mouse +41 -0
  222. package/python/tools/web_browser/bin/close_site +28 -0
  223. package/python/tools/web_browser/bin/double_click_mouse +37 -0
  224. package/python/tools/web_browser/bin/drag_mouse +46 -0
  225. package/python/tools/web_browser/bin/execute_script_on_page +39 -0
  226. package/python/tools/web_browser/bin/get_console_output +48 -0
  227. package/python/tools/web_browser/bin/move_mouse +35 -0
  228. package/python/tools/web_browser/bin/navigate_back +33 -0
  229. package/python/tools/web_browser/bin/navigate_forward +33 -0
  230. package/python/tools/web_browser/bin/open_site +36 -0
  231. package/python/tools/web_browser/bin/press_keys_on_page +51 -0
  232. package/python/tools/web_browser/bin/reload_page +33 -0
  233. package/python/tools/web_browser/bin/run_web_browser_server +394 -0
  234. package/python/tools/web_browser/bin/screenshot_site +38 -0
  235. package/python/tools/web_browser/bin/scroll_on_page +40 -0
  236. package/python/tools/web_browser/bin/set_browser_window_size +40 -0
  237. package/python/tools/web_browser/bin/type_text +34 -0
  238. package/python/tools/web_browser/bin/wait_time +39 -0
  239. package/python/tools/web_browser/config.yaml +155 -0
  240. package/python/tools/web_browser/install.sh +22 -0
  241. package/python/tools/web_browser/lib/browser_manager.py +404 -0
  242. package/python/tools/web_browser/lib/web_browser_config.py +33 -0
  243. package/python/tools/web_browser/lib/web_browser_utils.py +126 -0
  244. package/python/tools/web_browser/test_console.html +1 -0
  245. package/python/tools/windowed/bin/_state +25 -0
  246. package/python/tools/windowed/bin/create +29 -0
  247. package/python/tools/windowed/bin/goto +37 -0
  248. package/python/tools/windowed/bin/open +49 -0
  249. package/python/tools/windowed/bin/scroll_down +12 -0
  250. package/python/tools/windowed/bin/scroll_up +13 -0
  251. package/python/tools/windowed/config.yaml +38 -0
  252. package/python/tools/windowed/install.sh +15 -0
  253. package/python/tools/windowed/lib/__init__.py +0 -0
  254. package/python/tools/windowed/lib/flake8_utils.py +147 -0
  255. package/python/tools/windowed/lib/windowed_file.py +312 -0
  256. package/python/tools/windowed_edit_linting/bin/edit +128 -0
  257. package/python/tools/windowed_edit_linting/config.yaml +31 -0
  258. package/python/tools/windowed_edit_linting/install.sh +5 -0
  259. package/python/tools/windowed_edit_replace/bin/edit +172 -0
  260. package/python/tools/windowed_edit_replace/bin/insert +77 -0
  261. package/python/tools/windowed_edit_replace/config.yaml +60 -0
  262. package/python/tools/windowed_edit_replace/install.sh +5 -0
  263. package/python/tools/windowed_edit_rewrite/bin/edit +78 -0
  264. package/python/tools/windowed_edit_rewrite/config.yaml +11 -0
  265. package/python/tools/windowed_edit_rewrite/install.sh +5 -0
  266. package/python/trajectories/demonstrations/ctf/crypto/BabyEncryption.traj +318 -0
  267. package/python/trajectories/demonstrations/ctf/crypto/BabyTimeCapsule.traj +197 -0
  268. package/python/trajectories/demonstrations/ctf/crypto/eps.traj +289 -0
  269. package/python/trajectories/demonstrations/ctf/crypto/katy.traj +368 -0
  270. package/python/trajectories/demonstrations/ctf/forensics/flash.traj +102 -0
  271. package/python/trajectories/demonstrations/ctf/misc/networking_1.traj +102 -0
  272. package/python/trajectories/demonstrations/ctf/pwn/warmup.traj +159 -0
  273. package/python/trajectories/demonstrations/ctf/rev/rock.traj +251 -0
  274. package/python/trajectories/demonstrations/ctf/web/i_got_id_demo.traj +422 -0
  275. package/python/trajectories/demonstrations/function_calling_simple.traj +151 -0
  276. package/python/trajectories/demonstrations/human_thought__swe-bench-HumanEvalFix-python__lcb__t-0.00__p-0.95__c-4.00__install-0/humanevalfix-python-0.traj +129 -0
  277. package/python/trajectories/demonstrations/replay__marshmallow-code__marshmallow-1867__default__t-0.20__p-0.95__c-2.00__install-1___install_from_source/marshmallow-code__marshmallow-1867.traj +318 -0
  278. package/python/trajectories/demonstrations/replay__marshmallow-code__marshmallow-1867__default_sys-env_cursors_window100__t-0.20__p-0.95__c-2.00__install-1/marshmallow-code__marshmallow-1867.traj +251 -0
  279. package/python/trajectories/demonstrations/replay__marshmallow-code__marshmallow-1867__default_sys-env_window100__t-0.20__p-0.95__c-2.00__install-1/marshmallow-code__marshmallow-1867.traj +399 -0
  280. package/python/trajectories/demonstrations/replay__marshmallow-code__marshmallow-1867__function_calling__install-1/marshmallow-code__marshmallow-1867.traj +594 -0
  281. package/python/trajectories/demonstrations/replay__marshmallow-code__marshmallow-1867__function_calling_replace__install-1/marshmallow-code__marshmallow-1867.traj +592 -0
  282. package/python/trajectories/demonstrations/replay__marshmallow-code__marshmallow-1867__function_calling_replace_from_source/marshmallow-code__marshmallow-1867.traj +3316 -0
  283. package/python/trajectories/demonstrations/replay__marshmallow-code__marshmallow-1867__xml_sys-env_cursors_window100__t-0.20__p-0.95__c-2.00__install-1/marshmallow-code__marshmallow-1867.traj +251 -0
  284. package/python/trajectories/demonstrations/replay__marshmallow-code__marshmallow-1867__xml_sys-env_window100__t-0.20__p-0.95__c-2.00__install-1/marshmallow-code__marshmallow-1867.traj +399 -0
  285. package/python/trajectories/demonstrations/str_replace_anthropic_demo.yaml +432 -0
  286. package/rust/Cargo.toml +100 -0
  287. package/rust/README.md +49 -0
  288. package/rust/src/agent/action_sampler.rs +130 -0
  289. package/rust/src/agent/agents.rs +1029 -0
  290. package/rust/src/agent/history_processors.rs +277 -0
  291. package/rust/src/agent/hooks/mod.rs +208 -0
  292. package/rust/src/agent/mod.rs +24 -0
  293. package/rust/src/agent/models.rs +837 -0
  294. package/rust/src/agent/problem_statement.rs +355 -0
  295. package/rust/src/agent/reviewer.rs +505 -0
  296. package/rust/src/bin/sweagent.rs +784 -0
  297. package/rust/src/environment/deployment.rs +631 -0
  298. package/rust/src/environment/hooks/mod.rs +114 -0
  299. package/rust/src/environment/mod.rs +16 -0
  300. package/rust/src/environment/repo.rs +265 -0
  301. package/rust/src/environment/runtime.rs +237 -0
  302. package/rust/src/environment/swe_env.rs +248 -0
  303. package/rust/src/exceptions.rs +228 -0
  304. package/rust/src/lib.rs +68 -0
  305. package/rust/src/monitoring.rs +482 -0
  306. package/rust/src/run/hooks/mod.rs +134 -0
  307. package/rust/src/run/mod.rs +12 -0
  308. package/rust/src/run/run_batch.rs +563 -0
  309. package/rust/src/run/run_single.rs +196 -0
  310. package/rust/src/tools/bundle.rs +224 -0
  311. package/rust/src/tools/commands.rs +173 -0
  312. package/rust/src/tools/mod.rs +295 -0
  313. package/rust/src/tools/parsing.rs +354 -0
  314. package/rust/src/tools/registry.rs +143 -0
  315. package/rust/src/types.rs +554 -0
  316. package/rust/src/utils/config.rs +105 -0
  317. package/rust/src/utils/files.rs +137 -0
  318. package/rust/src/utils/github.rs +171 -0
  319. package/rust/src/utils/log.rs +65 -0
  320. package/rust/src/utils/mod.rs +17 -0
  321. package/rust/src/utils/serialization.rs +181 -0
  322. package/rust/src/utils/template.rs +173 -0
  323. package/typescript/README.md +335 -0
@@ -0,0 +1,69 @@
1
+ # Formerly called: anthropic_filemap.yaml
2
+ # This template is heavily inspired by anthropic's computer use demo, but you can use
3
+ # it with any LM.
4
+ agent:
5
+ templates:
6
+ system_template: |-
7
+ You are a helpful assistant that can interact with a computer to solve tasks.
8
+ instance_template: |-
9
+ <uploaded_files>
10
+ {{working_dir}}
11
+ </uploaded_files>
12
+ I've uploaded a python code repository in the directory {{working_dir}}. Consider the following PR description:
13
+
14
+ <pr_description>
15
+ {{problem_statement}}
16
+ </pr_description>
17
+
18
+ Can you help me implement the necessary changes to the repository so that the requirements specified in the <pr_description> are met?
19
+ I've already taken care of all changes to any of the test files described in the <pr_description>. This means you DON'T have to modify the testing logic or any of the tests in any way!
20
+ Your task is to make the minimal changes to non-tests files in the {{working_dir}} directory to ensure the <pr_description> is satisfied.
21
+ Follow these steps to resolve the issue:
22
+ 1. As a first step, it might be a good idea to find and read code relevant to the <pr_description>
23
+ 2. Create a script to reproduce the error and execute it with `python <filename.py>` using the bash tool, to confirm the error
24
+ 3. Edit the sourcecode of the repo to resolve the issue
25
+ 4. Rerun your reproduce script and confirm that the error is fixed!
26
+ 5. Think about edgecases and make sure your fix handles them as well
27
+ Your thinking should be thorough and so it's fine if it's very long.
28
+ next_step_template: |-
29
+ OBSERVATION:
30
+ {{observation}}
31
+ next_step_no_output_template: |-
32
+ Your command ran successfully and did not produce any output.
33
+ tools:
34
+ env_variables:
35
+ PAGER: cat
36
+ MANPAGER: cat
37
+ LESS: -R
38
+ PIP_PROGRESS_BAR: 'off'
39
+ TQDM_DISABLE: '1'
40
+ GIT_PAGER: cat
41
+ bundles:
42
+ - path: tools/registry
43
+ - path: tools/edit_anthropic
44
+ - path: tools/review_on_submit_m
45
+ registry_variables:
46
+ USE_FILEMAP: 'true'
47
+ SUBMIT_REVIEW_MESSAGES:
48
+ - |
49
+ Thank you for your work on this issue. Please carefully follow the steps below to help review your changes.
50
+
51
+ 1. If you made any changes to your code after running the reproduction script, please run the reproduction script again.
52
+ If the reproduction script is failing, please revisit your changes and make sure they are correct.
53
+ If you have already removed your reproduction script, please ignore this step.
54
+ 2. Remove your reproduction script (if you haven't done so already).
55
+ 3. If you have modified any TEST files, please revert them to the state they had before you started fixing the issue.
56
+ You can do this with `git checkout -- /path/to/test/file.py`. Use below <diff> to find the files you need to revert.
57
+ 4. Run the submit command again to confirm.
58
+
59
+ Here is a list of all of your changes:
60
+
61
+ <diff>
62
+ {{diff}}
63
+ </diff>
64
+ enable_bash_tool: true
65
+ parse_function:
66
+ type: function_calling
67
+ history_processors:
68
+ - type: cache_control
69
+ last_n_messages: 2
@@ -0,0 +1,69 @@
1
+ # Formerly called: anthropic_filemap.yaml
2
+ # This template is heavily inspired by anthropic's computer use demo, but you can use
3
+ # it with any LM.
4
+ agent:
5
+ templates:
6
+ system_template: |-
7
+ You are a helpful assistant that can interact with a computer to solve tasks.
8
+ instance_template: |-
9
+ <uploaded_files>
10
+ {{working_dir}}
11
+ </uploaded_files>
12
+ I've uploaded a python code repository in the directory {{working_dir}}. Consider the following PR description:
13
+
14
+ <pr_description>
15
+ {{problem_statement}}
16
+ </pr_description>
17
+
18
+ Can you help me implement the necessary changes to the repository so that the requirements specified in the <pr_description> are met?
19
+ I've already taken care of all changes to any of the test files described in the <pr_description>. This means you DON'T have to modify the testing logic or any of the tests in any way!
20
+ Your task is to make the minimal changes to non-tests files in the {{working_dir}} directory to ensure the <pr_description> is satisfied.
21
+ Follow these steps to resolve the issue:
22
+ 1. As a first step, it might be a good idea to find and read code relevant to the <pr_description>
23
+ 2. Create a script to reproduce the error and execute it with `python <filename.py>` using the bash tool, to confirm the error
24
+ 3. Edit the sourcecode of the repo to resolve the issue
25
+ 4. Rerun your reproduce script and confirm that the error is fixed!
26
+ 5. Think about edgecases and make sure your fix handles them as well
27
+ Your thinking should be thorough and so it's fine if it's very long.
28
+ next_step_template: |-
29
+ OBSERVATION:
30
+ {{observation}}
31
+ next_step_no_output_template: |-
32
+ Your command ran successfully and did not produce any output.
33
+ tools:
34
+ env_variables:
35
+ PAGER: cat
36
+ MANPAGER: cat
37
+ LESS: -R
38
+ PIP_PROGRESS_BAR: 'off'
39
+ TQDM_DISABLE: '1'
40
+ GIT_PAGER: cat
41
+ bundles:
42
+ - path: tools/registry
43
+ - path: tools/edit_anthropic
44
+ - path: tools/review_on_submit_m
45
+ registry_variables:
46
+ USE_FILEMAP: 'true'
47
+ SUBMIT_REVIEW_MESSAGES:
48
+ - |
49
+ Thank you for your work on this issue. Please carefully follow the steps below to help review your changes.
50
+
51
+ 1. If you made any changes to your code after running the reproduction script, please run the reproduction script again.
52
+ If the reproduction script is failing, please revisit your changes and make sure they are correct.
53
+ If you have already removed your reproduction script, please ignore this step.
54
+ 2. Remove your reproduction script (if you haven't done so already).
55
+ 3. If you have modified any TEST files, please revert them to the state they had before you started fixing the issue.
56
+ You can do this with `git checkout -- /path/to/test/file.py`. Use below <diff> to find the files you need to revert.
57
+ 4. Run the submit command again to confirm.
58
+
59
+ Here is a list of all of your changes:
60
+
61
+ <diff>
62
+ {{diff}}
63
+ </diff>
64
+ enable_bash_tool: true
65
+ parse_function:
66
+ type: thought_action
67
+ history_processors:
68
+ - type: cache_control
69
+ last_n_messages: 2
@@ -0,0 +1,82 @@
1
+ # Configuration for SWE-agent with image viewing capabilities
2
+ # This extends the default config with image parsing history processor
3
+ # and the image_tools bundle for viewing images as base64-encoded markdown.
4
+ agent:
5
+ templates:
6
+ # disable_image_processing: false
7
+ disable_image_processing: true
8
+ system_template: |-
9
+ You are a helpful assistant that can interact with a computer to solve tasks.
10
+ instance_template: |-
11
+ <uploaded_files>
12
+ {{working_dir}}
13
+ </uploaded_files>
14
+ I've uploaded a python code repository in the directory {{working_dir}}. Consider the following PR description:
15
+
16
+ <pr_description>
17
+ {{problem_statement}}
18
+ </pr_description>
19
+
20
+ Can you help me implement the necessary changes to the repository so that the requirements specified in the <pr_description> are met?
21
+ I've already taken care of all changes to any of the test files described in the <pr_description>. This means you DON'T have to modify the testing logic or any of the tests in any way!
22
+ Your task is to make the minimal changes to non-tests files in the {{working_dir}} directory to ensure the <pr_description> is satisfied.
23
+ Follow these steps to resolve the issue:
24
+ 1. As a first step, it might be a good idea to find and read code relevant to the <pr_description>
25
+ 2. Create a script to reproduce the error and execute it with `python <filename.py>` using the bash tool, to confirm the error
26
+ 3. Edit the sourcecode of the repo to resolve the issue
27
+ 4. Rerun your reproduce script and confirm that the error is fixed!
28
+ 5. Think about edgecases and make sure your fix handles them as well
29
+ Your thinking should be thorough and so it's fine if it's very long.
30
+
31
+ Note: You can use the view_image command to display images as embedded base64 data when relevant.
32
+
33
+ If you need to start a command that has long-running output (e.g. a web server), you should _always_ use the following pattern:
34
+ server_command &> my_server_log.txt &
35
+
36
+ This way you can see the server's output in the my_server_log.txt file and it will not block the rest of your work.
37
+ next_step_template: |-
38
+ OBSERVATION:
39
+ {{observation}}
40
+ next_step_no_output_template: |-
41
+ Your command ran successfully and did not produce any output.
42
+ max_observation_length: 10_000_000 # need longer for images
43
+ tools:
44
+ execution_timeout: 300 # need longer for builds
45
+ bundles:
46
+ - path: tools/registry
47
+ - path: tools/edit_anthropic
48
+ # - path: tools/image_tools # lets models view image files
49
+ # - path: tools/web_browser # browser tool for interacting with web servers
50
+ - path: tools/review_on_submit_m
51
+ registry_variables:
52
+ USE_FILEMAP: 'true'
53
+ SUBMIT_REVIEW_MESSAGES:
54
+ - |
55
+ Thank you for your work on this issue. Please carefully follow the steps below to help review your changes.
56
+
57
+ 1. If you made any changes to your code after running the reproduction script, please run the reproduction script again.
58
+ If the reproduction script is failing, please revisit your changes and make sure they are correct.
59
+ If you have already removed your reproduction script, please ignore this step.
60
+ 2. Remove your reproduction script (if you haven't done so already).
61
+ 3. If you have modified any TEST files, please revert them to the state they had before you started fixing the issue.
62
+ You can do this with `git checkout -- /path/to/test/file.py`. Use below <diff> to find the files you need to revert.
63
+ 4. Run the submit command again to confirm.
64
+
65
+ Here is a list of all of your changes:
66
+
67
+ <diff>
68
+ {{diff}}
69
+ </diff>
70
+ enable_bash_tool: true
71
+ parse_function:
72
+ type: function_calling
73
+ # history_processors:
74
+ # - type: image_parsing # parses base64 encoded images in the observation
75
+ # - type: cache_control # enable for claude
76
+ # last_n_messages: 2 # enable for claude
77
+ instances:
78
+ type: swe_bench
79
+ subset: multimodal
80
+ split: dev
81
+ shuffle: true
82
+ # filter: processing__p5.js-6069
@@ -0,0 +1,83 @@
1
+ # Configuration for SWE-agent with image viewing capabilities
2
+ # This extends the default config with image parsing history processor
3
+ # and the image_tools bundle for viewing images as base64-encoded markdown.
4
+ agent:
5
+ templates:
6
+ disable_image_processing: false
7
+ system_template: |-
8
+ You are a helpful assistant that can interact with a computer to solve tasks.
9
+ instance_template: |-
10
+ <uploaded_files>
11
+ {{working_dir}}
12
+ </uploaded_files>
13
+ I've uploaded a python code repository in the directory {{working_dir}}. Consider the following PR description:
14
+
15
+ <pr_description>
16
+ {{problem_statement}}
17
+ </pr_description>
18
+
19
+ Can you help me implement the necessary changes to the repository so that the requirements specified in the <pr_description> are met?
20
+ I've already taken care of all changes to any of the test files described in the <pr_description>. This means you DON'T have to modify the testing logic or any of the tests in any way!
21
+ Your task is to make the minimal changes to non-tests files in the {{working_dir}} directory to ensure the <pr_description> is satisfied.
22
+ Follow these steps to resolve the issue:
23
+ 1. As a first step, it might be a good idea to find and read code relevant to the <pr_description>
24
+ 2. Create a script to reproduce the error and execute it with `python <filename.py>` using the bash tool, to confirm the error
25
+ 3. Edit the sourcecode of the repo to resolve the issue
26
+ 4. Rerun your reproduce script and confirm that the error is fixed!
27
+ 5. Think about edgecases and make sure your fix handles them as well
28
+ Your thinking should be thorough and so it's fine if it's very long.
29
+
30
+ Note: You can use the view_image command to display images as embedded base64 data when relevant.
31
+ You'll also be given access browser tools to interact with the web or a local server.
32
+ In the browser, your mouse is shown as a red crosshair.
33
+
34
+ If you need to start a command that has long-running output (e.g. a web server), you should _always_ use the following pattern:
35
+ server_command &> my_server_log.txt &
36
+
37
+ This way you can see the server's output in the my_server_log.txt file and it will not block the rest of your work.
38
+ next_step_template: |-
39
+ OBSERVATION:
40
+ {{observation}}
41
+ next_step_no_output_template: |-
42
+ Your command ran successfully and did not produce any output.
43
+ max_observation_length: 10_000_000 # need longer for images
44
+ tools:
45
+ execution_timeout: 300 # need longer for builds
46
+ bundles:
47
+ - path: tools/registry
48
+ - path: tools/edit_anthropic
49
+ - path: tools/image_tools # lets models view image files
50
+ - path: tools/web_browser # browser tool for interacting with web servers
51
+ - path: tools/review_on_submit_m
52
+ registry_variables:
53
+ USE_FILEMAP: 'true'
54
+ SUBMIT_REVIEW_MESSAGES:
55
+ - |
56
+ Thank you for your work on this issue. Please carefully follow the steps below to help review your changes.
57
+
58
+ 1. If you made any changes to your code after running the reproduction script, please run the reproduction script again.
59
+ If the reproduction script is failing, please revisit your changes and make sure they are correct.
60
+ If you have already removed your reproduction script, please ignore this step.
61
+ 2. Remove your reproduction script (if you haven't done so already).
62
+ 3. If you have modified any TEST files, please revert them to the state they had before you started fixing the issue.
63
+ You can do this with `git checkout -- /path/to/test/file.py`. Use below <diff> to find the files you need to revert.
64
+ 4. Run the submit command again to confirm.
65
+
66
+ Here is a list of all of your changes:
67
+
68
+ <diff>
69
+ {{diff}}
70
+ </diff>
71
+ enable_bash_tool: true
72
+ parse_function:
73
+ type: function_calling
74
+ history_processors:
75
+ - type: image_parsing # parses base64 encoded images in the observation
76
+ # - type: cache_control # enable for claude
77
+ # last_n_messages: 2 # enable for claude
78
+ instances:
79
+ type: swe_bench
80
+ subset: multimodal
81
+ split: dev
82
+ shuffle: true
83
+ # filter: processing__p5.js-6069
@@ -0,0 +1,80 @@
1
+ # Formerly called: anthropic_filemap.yaml
2
+ # This template is heavily inspired by anthropic's computer use demo, but you can use
3
+ # it with any LM.
4
+ agent:
5
+ templates:
6
+ system_template: |-
7
+ You are a helpful assistant that can interact with a computer to solve tasks.
8
+ instance_template: |-
9
+ <uploaded_files>
10
+ {{working_dir}}
11
+ </uploaded_files>
12
+ I've uploaded a python code repository in the directory {{working_dir}}. Consider the following PR description:
13
+
14
+ <pr_description>
15
+ {{problem_statement}}
16
+ </pr_description>
17
+
18
+ Can you help me implement the necessary changes to the repository so that the requirements specified in the <pr_description> are met?
19
+ I've already taken care of all changes to any of the test files described in the <pr_description>. This means you DON'T have to modify the testing logic or any of the tests in any way!
20
+ Your task is to make the minimal changes to non-tests files in the {{working_dir}} directory to ensure the <pr_description> is satisfied.
21
+ Follow these steps to resolve the issue:
22
+ 1. As a first step, it might be a good idea to find and read code relevant to the <pr_description>
23
+ 2. Create a script to reproduce the error and execute it with `python <filename.py>` using the bash tool, to confirm the error
24
+ 3. Edit the sourcecode of the repo to resolve the issue
25
+ 4. Rerun your reproduce script and confirm that the error is fixed!
26
+ 5. Think about edgecases and make sure your fix handles them as well
27
+ Your thinking should be thorough and so it's fine if it's very long.
28
+ next_step_template: |-
29
+ OBSERVATION:
30
+ {{observation}}
31
+ next_step_no_output_template: |-
32
+ Your command ran successfully and did not produce any output.
33
+ tools:
34
+ env_variables:
35
+ PAGER: cat
36
+ MANPAGER: cat
37
+ LESS: -R
38
+ PIP_PROGRESS_BAR: 'off'
39
+ TQDM_DISABLE: '1'
40
+ GIT_PAGER: cat
41
+ bundles:
42
+ - path: tools/registry
43
+ - path: tools/edit_anthropic
44
+ - path: tools/review_on_submit_m
45
+ registry_variables:
46
+ USE_FILEMAP: 'true'
47
+ SUBMIT_REVIEW_MESSAGES:
48
+ - |
49
+ Thank you for your work on this issue. Please carefully follow the steps below to help review your changes.
50
+
51
+ 1. If you made any changes to your code after running the reproduction script, please run the reproduction script again.
52
+ If the reproduction script is failing, please revisit your changes and make sure they are correct.
53
+ If you have already removed your reproduction script, please ignore this step.
54
+ 2. Remove your reproduction script (if you haven't done so already).
55
+ 3. If you have modified any TEST files, please revert them to the state they had before you started fixing the issue.
56
+ You can do this with `git checkout -- /path/to/test/file.py`. Use below <diff> to find the files you need to revert.
57
+ 4. Run the submit command again to confirm.
58
+
59
+ Here is a list of all of your changes:
60
+
61
+ <diff>
62
+ {{diff}}
63
+ </diff>
64
+ enable_bash_tool: true
65
+ parse_function:
66
+ type: function_calling
67
+ history_processors:
68
+ - type: cache_control
69
+ last_n_messages: 2
70
+ model:
71
+ name: claude-sonnet-4-20250514
72
+ env:
73
+ repo:
74
+ github_url: https://github.com/SWE-agent/test-repo
75
+ deployment:
76
+ image: tiny
77
+ python_standalone_dir: ""
78
+ problem_statement:
79
+ github_url:
80
+ https://github.com/SWE-agent/test-repo/issues/1
@@ -0,0 +1,69 @@
1
+ # Formerly called: anthropic_filemap.yaml
2
+ # This template is heavily inspired by anthropic's computer use demo, but you can use
3
+ # it with any LM.
4
+ agent:
5
+ templates:
6
+ system_template: |-
7
+ You are a helpful assistant that can interact with a computer to solve tasks.
8
+ instance_template: |-
9
+ <uploaded_files>
10
+ {{working_dir}}
11
+ </uploaded_files>
12
+ I've uploaded a python code repository in the directory {{working_dir}}. Consider the following PR description:
13
+
14
+ <pr_description>
15
+ {{problem_statement}}
16
+ </pr_description>
17
+ next_step_template: |-
18
+ OBSERVATION:
19
+ {{observation}}
20
+ next_step_no_output_template: |-
21
+ Your command ran successfully and did not produce any output.
22
+ tools:
23
+ env_variables:
24
+ PAGER: cat
25
+ MANPAGER: cat
26
+ LESS: -R
27
+ PIP_PROGRESS_BAR: 'off'
28
+ TQDM_DISABLE: '1'
29
+ GIT_PAGER: cat
30
+ bundles:
31
+ - path: tools/registry
32
+ - path: tools/edit_anthropic
33
+ - path: tools/review_on_submit_m
34
+ registry_variables:
35
+ USE_FILEMAP: 'true'
36
+ SUBMIT_REVIEW_MESSAGES:
37
+ - |
38
+ Thank you for your work on this issue. Please carefully follow the steps below to help review your changes.
39
+
40
+ 1. If you made any changes to your code after running the reproduction script, please run the reproduction script again.
41
+ If the reproduction script is failing, please revisit your changes and make sure they are correct.
42
+ If you have already removed your reproduction script, please ignore this step.
43
+ 2. Remove your reproduction script (if you haven't done so already).
44
+ 3. If you have modified any TEST files, please revert them to the state they had before you started fixing the issue.
45
+ You can do this with `git checkout -- /path/to/test/file.py`. Use below <diff> to find the files you need to revert.
46
+ 4. Run the submit command again to confirm.
47
+
48
+ Here is a list of all of your changes:
49
+
50
+ <diff>
51
+ {{diff}}
52
+ </diff>
53
+ enable_bash_tool: true
54
+ parse_function:
55
+ type: function_calling
56
+ history_processors:
57
+ - type: cache_control
58
+ last_n_messages: 2
59
+ model:
60
+ name: claude-sonnet-4-20250514
61
+ env:
62
+ repo:
63
+ github_url: https://github.com/SWE-agent/test-repo
64
+ deployment:
65
+ image: tiny
66
+ python_standalone_dir: ""
67
+ problem_statement:
68
+ github_url:
69
+ https://github.com/SWE-agent/test-repo/issues/1
@@ -0,0 +1,60 @@
1
+ # Formerly called: anthropic_filemap.yaml
2
+ # This template is heavily inspired by anthropic's computer use demo, but you can use
3
+ # it with any LM.
4
+ agent:
5
+ templates:
6
+ system_template: |-
7
+ You are a helpful assistant that can interact with a computer to solve tasks.
8
+ instance_template: |-
9
+ <uploaded_files>
10
+ {{working_dir}}
11
+ </uploaded_files>
12
+ I've uploaded a python code repository in the directory {{working_dir}}. Consider the following PR description:
13
+
14
+ <pr_description>
15
+ {{problem_statement}}
16
+ </pr_description>
17
+
18
+ Can you help me implement the necessary changes to the repository so that the requirements specified in the <pr_description> are met?
19
+ I've already taken care of all changes to any of the test files described in the <pr_description>. This means you DON'T have to modify the testing logic or any of the tests in any way!
20
+ Your task is to make the minimal changes to non-tests files in the {{working_dir}} directory to ensure the <pr_description> is satisfied.
21
+ Follow these steps to resolve the issue:
22
+ 1. As a first step, it might be a good idea to find and read code relevant to the <pr_description>
23
+ 2. Create a script to reproduce the error and execute it with `python <filename.py>` using the bash tool, to confirm the error
24
+ 3. Edit the sourcecode of the repo to resolve the issue
25
+ 4. Rerun your reproduce script and confirm that the error is fixed!
26
+ 5. Think about edgecases and make sure your fix handles them as well
27
+ Your thinking should be thorough and so it's fine if it's very long.
28
+ next_step_template: |-
29
+ OBSERVATION:
30
+ {{observation}}
31
+ next_step_no_output_template: |-
32
+ Your command ran successfully and did not produce any output.
33
+ tools:
34
+ env_variables:
35
+ PAGER: cat
36
+ MANPAGER: cat
37
+ LESS: -R
38
+ PIP_PROGRESS_BAR: 'off'
39
+ TQDM_DISABLE: '1'
40
+ GIT_PAGER: cat
41
+ bundles:
42
+ - path: tools/registry
43
+ - path: tools/submit
44
+ enable_bash_tool: true
45
+ parse_function:
46
+ type: function_calling
47
+ history_processors:
48
+ - type: cache_control
49
+ last_n_messages: 2
50
+ model:
51
+ name: claude-sonnet-4-20250514
52
+ env:
53
+ repo:
54
+ github_url: https://github.com/SWE-agent/test-repo
55
+ deployment:
56
+ image: tiny
57
+ python_standalone_dir: ""
58
+ problem_statement:
59
+ github_url:
60
+ https://github.com/SWE-agent/test-repo/issues/1
@@ -0,0 +1,52 @@
1
+ # For use with sweagent sh
2
+ agent:
3
+ type: shell
4
+ templates:
5
+ system_template: |-
6
+ You are a helpful assistant that can interact with a computer to solve tasks.
7
+ instance_template: |-
8
+ <uploaded_files>
9
+ {{working_dir}}
10
+ </uploaded_files>
11
+ I've uploaded a python code repository in the directory {{working_dir}}. Consider the following PR description:
12
+
13
+ <pr_description>
14
+ {{problem_statement}}
15
+ </pr_description>
16
+
17
+ Can you help me implement the necessary changes to the repository so that the requirements specified in the <pr_description> are met?
18
+ I've already taken care of all changes to any of the test files described in the <pr_description>. This means you DON'T have to modify the testing logic or any of the tests in any way!
19
+ Your task is to make the minimal changes to non-tests files in the {{working_dir}} directory to ensure the <pr_description> is satisfied.
20
+ Follow these steps to resolve the issue:
21
+ 1. As a first step, it might be a good idea to find and read code relevant to the <pr_description>
22
+ 2. Create a script to reproduce the error and execute it with `python <filename.py>` using the bash tool, to confirm the error
23
+ 3. Edit the sourcecode of the repo to resolve the issue
24
+ 4. Rerun your reproduce script and confirm that the error is fixed!
25
+ 5. Think about edgecases and make sure your fix handles them as well
26
+ Your thinking should be thorough and so it's fine if it's very long.
27
+ next_step_template: |-
28
+ OBSERVATION:
29
+ {{observation}}
30
+ next_step_no_output_template: |-
31
+ Your command ran successfully and did not produce any output.
32
+ tools:
33
+ env_variables:
34
+ PAGER: cat
35
+ MANPAGER: cat
36
+ LESS: -R
37
+ PIP_PROGRESS_BAR: 'off'
38
+ TQDM_DISABLE: '1'
39
+ GIT_PAGER: cat
40
+ bundles:
41
+ - path: tools/registry
42
+ - path: tools/edit_anthropic
43
+ registry_variables:
44
+ USE_FILEMAP: 'true'
45
+ enable_bash_tool: true
46
+ parse_function:
47
+ type: function_calling
48
+ history_processors:
49
+ - type: cache_control
50
+ last_n_messages: 2
51
+ model:
52
+ name: claude-sonnet-4-20250514