open-swe/agent/tools
langsmith-forge-dev[bot] 4060933ce4
feat: add github CI check run tools for shepherding CI (#1121)
* feat: add github CI check run tools for shepherding CI

Add get_pr_check_runs and rerun_failed_check_runs tools that authenticate
using the GitHub App installation token so the agent can query and retry
CI status on private repos without relying on GH_TOKEN or unauthenticated
http_request calls.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* fix: handle paginated GitHub CI results

* refactor(github_ci): address review feedback

- Rename rerun_failed_check_runs -> rerun_failed_workflow_runs and clarify
  in docstrings that the tool only retries GitHub Actions workflow runs
  (not third-party CI checks surfaced by get_pr_check_runs).
- Skip action_required workflow runs when rerunning; those need manual
  approval, not a rerun.
- Run rerun-failed-jobs requests concurrently via asyncio.gather instead
  of sequentially.
- Fix latent pagination bug in _fetch_paginated_items where caller-supplied
  params could overwrite per_page/page and break the end-of-pagination
  check; reserved keys now always win and the threshold uses a PER_PAGE
  constant.
- Set an explicit 30s httpx timeout so a hung GitHub call cannot stall
  the agent loop.
- Restore alphabetical ordering of tools in agent/tools/__init__.py.
- Add tests for: a 500 surfaced on a later pagination page, and
  action_required runs being filtered out of rerun candidates.

---------

Co-authored-by: Claude Agent <agent@anthropic.com>
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-authored-by: Johannes du Plessis <johannes@langchain.dev>
2026-05-01 12:19:04 -07:00
..
__init__.py feat: add github CI check run tools for shepherding CI (#1121) 2026-05-01 12:19:04 -07:00
commit_and_open_pr.py feat: open PRs under user's name and add OpenSWE label (#1215) 2026-04-29 17:34:00 -07:00
fetch_url.py fix: Shell injection and ssrf issues (#1155) 2026-04-01 12:37:35 -07:00
get_branch_name.py feat: stop auto-cloning and let agent manage repo setup [closes OPE-21] (#1159) 2026-04-10 17:04:55 -07:00
get_pr_review_comments.py fix: add get_pr_review_comments tool to fetch PR review comments with auth (#1043) 2026-04-30 17:01:13 -07:00
github_ci.py feat: add github CI check run tools for shepherding CI (#1121) 2026-05-01 12:19:04 -07:00
github_comment.py feat: add GitHub PR comment trigger and reply support [closes OPE-1] (#1014) 2026-03-09 17:14:13 -07:00
github_review.py fix: block open-swe from approving PRs (#1177) 2026-04-09 11:45:08 -07:00
http_request.py fix: Shell injection and ssrf issues (#1155) 2026-04-01 12:37:35 -07:00
linear_comment.py chore: Drop monorepo (#1029) 2026-03-06 16:10:34 -08:00
linear_create_issue.py feat: add linear tools for listing teams, get/create/update/delete issues, and get issue comments (#1105) 2026-03-23 14:32:44 -07:00
linear_delete_issue.py feat: add linear tools for listing teams, get/create/update/delete issues, and get issue comments (#1105) 2026-03-23 14:32:44 -07:00
linear_get_issue.py feat: add linear tools for listing teams, get/create/update/delete issues, and get issue comments (#1105) 2026-03-23 14:32:44 -07:00
linear_get_issue_comments.py feat: add linear tools for listing teams, get/create/update/delete issues, and get issue comments (#1105) 2026-03-23 14:32:44 -07:00
linear_list_teams.py feat: add linear tools for listing teams, get/create/update/delete issues, and get issue comments (#1105) 2026-03-23 14:32:44 -07:00
linear_update_issue.py feat: add linear tools for listing teams, get/create/update/delete issues, and get issue comments (#1105) 2026-03-23 14:32:44 -07:00
list_repos.py feat: stop auto-cloning and let agent manage repo setup [closes OPE-21] (#1159) 2026-04-10 17:04:55 -07:00
slack_read_thread_messages.py feat: give agent ability to read cross-posted Slack message links [closes OPE-37] (#1200) 2026-04-29 17:42:27 -07:00
slack_thread_reply.py fix: convert @Name(USER_ID) mentions to Slack's <@USER_ID> format in thread replies (#1126) 2026-03-25 11:51:11 -07:00
web_search.py fix: add Exa web search tool [closes: OPE-29] (#1133) 2026-03-25 16:24:31 -07:00