Skip to content

WIP: Tool calling UI #52

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 92 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
92 commits
Select commit Hold shift + click to select a range
b512bb3
draft
gadenbuie Apr 2, 2025
7118065
draft
gadenbuie May 12, 2025
27a5921
Merge 'origin/main' into branch feat/tool-call-ui
gadenbuie May 19, 2025
15ebc4a
fixup draft
gadenbuie May 20, 2025
b68cf54
fix typo
gadenbuie May 20, 2025
d91caf1
fix stylesheet id
gadenbuie May 20, 2025
8f25c3d
more drafting
gadenbuie May 20, 2025
be5066e
fix: chat_ui() expects a string message content to be a string
gadenbuie Jun 13, 2025
e547bc7
If tool has a title, use only that for result header
gadenbuie Jun 13, 2025
00b8edc
for overlong tool calls, only show tool name
gadenbuie Jun 13, 2025
5ce9318
feat: Support `@extra$display` in tool results
gadenbuie Jun 26, 2025
c4b3d17
Merge branch 'main' into feat/tool-call-ui
cpsievert Jul 16, 2025
41fa983
Remove ... argument
cpsievert Jul 16, 2025
6fe9dbc
Move JS/CSS files to proper location
cpsievert Jul 16, 2025
33ce9b7
Minor refactoring of tool_result_display()
cpsievert Jul 16, 2025
8453756
Attach JS/CSS files to the main htmlDependency()
cpsievert Jul 16, 2025
e6dda19
A bit more minor refactoring
cpsievert Jul 16, 2025
2d4f5dd
Merge branch 'main' into feat/tool-call-ui
cpsievert Jul 16, 2025
29b0df5
`air format` (GitHub Actions)
cpsievert Jul 16, 2025
f0dcb8e
chore: more minor refactoring
gadenbuie Jul 28, 2025
68870e9
claude: ShinyToolRequest component
gadenbuie Jul 28, 2025
e04fe13
claude: ShinyToolResult component
gadenbuie Jul 28, 2025
e86dd9f
chore: more chat tools work
gadenbuie Jul 28, 2025
d7b5dc2
chore: make js-build
gadenbuie Jul 28, 2025
807c37a
chore: don't expand tool result by default
gadenbuie Jul 29, 2025
91871f9
refactor: Pull out `tool_result_display()`
gadenbuie Jul 29, 2025
371fa0e
chore: use `request_id` instead of `id`
gadenbuie Jul 29, 2025
c00f377
feat: provide request call, formatted from R/Python side
gadenbuie Jul 29, 2025
b57074e
feat: Use light DOM instead of shadow DOM
gadenbuie Jul 29, 2025
b467ac1
chore: move chat tool styles to chat-tools.scss
gadenbuie Jul 29, 2025
ffd2504
feat: Use `.intent` from tool request args, not `intent`
gadenbuie Jul 29, 2025
2b20e84
feat: Use cards for tool results
gadenbuie Jul 29, 2025
41799aa
chore: Limit tool result card max height
gadenbuie Jul 29, 2025
7813d0f
chore: build js and update R dist files
gadenbuie Jul 29, 2025
d39a1ef
chore: kebab-case component attributes
gadenbuie Jul 29, 2025
704120e
chore: build and update assets
gadenbuie Jul 29, 2025
09d95cc
chore: small component and css updates
gadenbuie Jul 29, 2025
3d79f7e
chore: build and update assets
gadenbuie Jul 29, 2025
5f3d71e
fix: Ensure expandable cards are scoped to just the tool result card
gadenbuie Jul 29, 2025
29f4ecf
chore: Remove `tool-request.js` from chat deps
gadenbuie Jul 29, 2025
75de1fa
chore: Use purrr-style map helpers
gadenbuie Jul 29, 2025
193a4fa
chore: revert formatting changes to preserve diff
gadenbuie Jul 29, 2025
f375a4a
chore(contents_shinychat): Provide generic to omit `...
gadenbuie Jul 29, 2025
de43f49
fix: remove overflow hidden
gadenbuie Jul 30, 2025
7098dea
feat: Requests and results have same appearance
gadenbuie Jul 30, 2025
6998763
chore: update assets
gadenbuie Jul 30, 2025
65b32d0
feat: Preserve raw HTML in markdown stream output
gadenbuie Jul 30, 2025
d341839
refactor(chat_append_stream_impl): simplify with internal closure
gadenbuie Jul 30, 2025
f31b96a
chore: Use default syntax highlighting for request call in result
gadenbuie Jul 30, 2025
1c3ec45
chore: use a spacer div to left-align intent and dropdown toggle indi…
gadenbuie Jul 30, 2025
f957399
feat: Support `icon` in `tool@annotations`
gadenbuie Jul 30, 2025
88fd4cc
fix: Ensure streaming dot appears inline when possible
gadenbuie Jul 30, 2025
3bc8ae6
chore: build and update assets
gadenbuie Jul 30, 2025
4726efe
refactor: Simplify card header markup
gadenbuie Jul 30, 2025
cd761ee
chore: rebuild and update assets
gadenbuie Jul 30, 2025
61f444f
chore: Soften tool title name weight
gadenbuie Jul 30, 2025
8578261
chore: Ensure consistent spacing between <p> and tool request/results
gadenbuie Jul 30, 2025
ca9c5ce
chore: build and update assets
gadenbuie Jul 30, 2025
395ad01
chore: don't need to use `on_tool_result` to hide tool request
gadenbuie Jul 30, 2025
8583cf8
Merge 'origin/main' into branch 'feat/tool-call-ui'
gadenbuie Jul 31, 2025
cc011ff
tests: fix snapshot tests
gadenbuie Jul 31, 2025
b4aa4fa
fix: Use tool result as seen by the LLM by default
gadenbuie Jul 31, 2025
ae0804b
feat: Better collapse indicator
gadenbuie Jul 31, 2025
46fa056
chore: build and update assets
gadenbuie Jul 31, 2025
187b4ed
chore: rework collapse indicator as single div element
gadenbuie Jul 31, 2025
80a13db
chore: Return bare html results as direct child of card
gadenbuie Jul 31, 2025
591d484
chore: Wrap tool arguments in div with header
gadenbuie Jul 31, 2025
5ebb14f
chore: build and update assets
gadenbuie Jul 31, 2025
42b6afc
tests: Add test app for tool UI basics
gadenbuie Jul 31, 2025
e2ccbcb
chore: re-implement toggle icon using svg
gadenbuie Jul 31, 2025
138a4cc
fix: Handle missing tool definitions gracefully
gadenbuie Jul 31, 2025
abd381b
fix: `icon_deps` needs to be defined even if tool is missing
gadenbuie Jul 31, 2025
9b654a2
fix: fill in tool defs in ContentToolResults
gadenbuie Jul 31, 2025
cb78476
feat: set client UI piecewise
gadenbuie Jul 31, 2025
d24fc48
chore: Remove card init script
gadenbuie Jul 31, 2025
45de77c
chore: move display up
gadenbuie Jul 31, 2025
436e054
revert formatting change
gadenbuie Jul 31, 2025
aedf97f
chore: remove bslib data attributes
gadenbuie Jul 31, 2025
2b88aa8
chore: build and update assets
gadenbuie Jul 31, 2025
bac203e
chore: Require ellmer >= v0.3.0
gadenbuie Jul 31, 2025
963ff0f
Revert "tests: fix snapshot tests"
gadenbuie Jul 31, 2025
3426408
refactor: rename `msg_turn` var for clarity
gadenbuie Jul 31, 2025
f4b5355
chore: simplify settings props when NULL is okay
gadenbuie Jul 31, 2025
ee514d4
chore: Tool results must have an associated request
gadenbuie Jul 31, 2025
f3c28fa
refactor: clean up `tool_result_display()`
gadenbuie Jul 31, 2025
faf35b6
chore: suggestions from code review
gadenbuie Aug 1, 2025
58c95a9
refactor: Use a generator to set client UI
gadenbuie Aug 1, 2025
b43d1c1
fix(findInnermostStreamingElement): rename and fixup helper function
gadenbuie Aug 1, 2025
2f6f85f
chore: build and update assets
gadenbuie Aug 1, 2025
b862a2c
refactor(findInnermostStreamingElement): Make it faster
gadenbuie Aug 1, 2025
4218749
chore: build and update assets
gadenbuie Aug 1, 2025
6ec7313
fix: typo in `tool_result_display`
gadenbuie Aug 1, 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
2 changes: 1 addition & 1 deletion js/dist/chat/chat.css

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading
Loading