Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
19 commits
Select commit Hold shift + click to select a range
aea0105
feat: Add GitHub tools using gh package (initial implementation)
gadenbuie Oct 16, 2025
64f45d0
chore: improve issue body preview
gadenbuie Oct 16, 2025
29614ff
feat: Add github_comment_add
gadenbuie Oct 17, 2025
67b37c1
feat: Add github and git icons
gadenbuie Oct 17, 2025
56abd26
chore: check {gh} installed and configured
gadenbuie Oct 17, 2025
8b468a2
chore: Improve docs and avoid repetition
gadenbuie Oct 17, 2025
e42e472
feat: Create a `btw_gh()` wrapper that allows or rejects endpoints by…
gadenbuie Oct 17, 2025
f318ccb
feat: Apply user allow and block rules first
gadenbuie Oct 17, 2025
751b837
feat: Add btw_eval_gh_code() helper function
gadenbuie Oct 17, 2025
9403ac0
feat: Simplify GitHub tool into a single "write-code" tool
gadenbuie Oct 17, 2025
42839d5
feat(tool-github): Filter fields by default, with optional parameter
gadenbuie Oct 17, 2025
6ed4bb0
chore: Update R option and add docs about setting in `btw.md`
gadenbuie Oct 17, 2025
51e8d56
tests: fix after `fields` addition
gadenbuie Oct 17, 2025
e54ed57
tests: fix tool list tests
gadenbuie Oct 18, 2025
172d6a3
chore: Add htmltools as suggested dependency
gadenbuie Oct 19, 2025
1a90cf7
tests: Add `local_enable_tools()`
gadenbuie Oct 19, 2025
382c16f
refactor: Pull out `eval_limited_r_code()`
gadenbuie Oct 20, 2025
191ed51
feat: Use delayed assignment to throw if owner/repo can't be detected
gadenbuie Oct 21, 2025
576fbe9
tests(git): Fix tests to avoid confusing git and github tools
gadenbuie Oct 21, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions DESCRIPTION
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,7 @@ Suggests:
duckdb,
gert,
gh,
htmltools,
pandoc,
shiny,
shinychat (>= 0.2.0),
Expand Down Expand Up @@ -84,6 +85,7 @@ Collate:
'tool-files-code-search.R'
'tool-files.R'
'tool-git.R'
'tool-github.R'
'tool-rstudioapi.R'
'tool-search-packages.R'
'tool-session-package-installed.R'
Expand All @@ -93,5 +95,6 @@ Collate:
'utils-ellmer.R'
'utils-gitignore.R'
'utils-md.R'
'utils-r.R'
'utils.R'
'zzz.R'
1 change: 1 addition & 0 deletions NAMESPACE
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,7 @@ export(btw_tool_git_commit)
export(btw_tool_git_diff)
export(btw_tool_git_log)
export(btw_tool_git_status)
export(btw_tool_github)
export(btw_tool_ide_read_current_editor)
export(btw_tool_search_package_info)
export(btw_tool_search_packages)
Expand Down
2 changes: 2 additions & 0 deletions R/btw_client_app.R
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ btw_app <- function(
) {
rlang::check_installed("shiny")
rlang::check_installed("bslib")
rlang::check_installed("htmltools")
rlang::check_installed("shinychat", version = "0.2.0")

if (!inherits(client, "AsIs")) {
Expand Down Expand Up @@ -461,6 +462,7 @@ app_tool_group_choice_input <- function(
"env" = shiny::span(label_icon, "Environment"),
"files" = shiny::span(label_icon, "Files"),
"git" = shiny::span(label_icon, "Git"),
"github" = shiny::span(label_icon, "GitHub"),
"ide" = shiny::span(label_icon, "IDE"),
"search" = shiny::span(label_icon, "Search"),
"session" = shiny::span(label_icon, "Session Info"),
Expand Down
Loading