Skip to content

feat: show tool calls immediately while streaming - #70

Merged
ShrihariMahabal merged 3 commits into
developfrom
feat/stream-tool-call-started
Jul 15, 2026
Merged

feat: show tool calls immediately while streaming#70
ShrihariMahabal merged 3 commits into
developfrom
feat/stream-tool-call-started

Conversation

@ShrihariMahabal

Copy link
Copy Markdown
Member

Tool cards used to appear only after the model finished streaming a call's arguments — a multi-second silent gap after a text block for calls with large arguments.

  • Model layer emits a ToolCallBegin marker the moment a call's name is known mid-stream.
  • The agent surfaces ToolStarted immediately (name only), then re-emits it with the full arguments once they finish streaming, before the tool runs — so arguments show during execution, not only with the result.
  • Frontend tool_started upserts the card (create, then fill args).

@greptile-apps

greptile-apps Bot commented Jul 15, 2026

Copy link
Copy Markdown
Contributor

Confidence Score: 5/5

Safe to merge — the streaming path, upsert logic, and type annotations are all consistent and the announced set correctly prevents duplicate announcements.

The logic is tight: announced prevents double ToolCallBegin, the frontend upsert is correct for Vue 3 Proxy-based reactivity, and the test update validates the new emission. No broken contracts or data-loss paths introduced.

No files require special attention.

Reviews (2): Last reviewed commit: "test: expect ToolCallBegin marker in str..." | Re-trigger Greptile

Comment thread frontend/src/store.js
@ShrihariMahabal
ShrihariMahabal merged commit 761f4a7 into develop Jul 15, 2026
4 checks passed
@ShrihariMahabal
ShrihariMahabal deleted the feat/stream-tool-call-started branch July 15, 2026 11:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant