Skip to content

hook streaming first pass#293514

Merged
justschen merged 10 commits intomainfrom
justin/musharna
Feb 7, 2026
Merged

hook streaming first pass#293514
justschen merged 10 commits intomainfrom
justin/musharna

Conversation

@justschen
Copy link
Collaborator

@justschen justschen commented Feb 6, 2026

adds specific hook part for rendering

Screenshot 2026-02-06 at 11 27 38 AM (1) Screenshot 2026-02-06 at 11 27 45 AM (1) Screenshot 2026-02-06 at 2 57 50 PM

cc @pwang347 @roblourens

justschen and others added 3 commits February 5, 2026 19:40
…chatHookContentPart.ts

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Copilot AI review requested due to automatic review settings February 6, 2026 19:40
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR introduces a new chat progress “hook” part so hook execution results can be streamed from extensions, persisted in chat sessions, and rendered in the chat UI.

Changes:

  • Adds proposed API surface for ChatResponseHookPart and a hookProgress(...) helper on ChatResponseStream.
  • Extends the internal chat model/progress unions and session operation log schema to recognize the new kind: 'hook' part.
  • Implements a new UI content part (ChatHookContentPart) and wires it into the chat list renderer.

Reviewed changes

Copilot reviewed 10 out of 11 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
src/vscode-dts/vscode.proposed.chatParticipantAdditions.d.ts Adds proposed API types + stream method for reporting hook execution results.
src/vs/workbench/contrib/chat/common/model/chatSessionOperationLog.ts Updates persistence equality logic to account for the new hook part kind.
src/vs/workbench/contrib/chat/common/model/chatModel.ts Adds hook to response/history unions and response stringification ignore list.
src/vs/workbench/contrib/chat/common/chatService/chatService.ts Defines ChatHookType, ChatHookOutcome, and IChatHookPart and includes it in IChatProgress.
src/vs/workbench/contrib/chat/browser/widget/chatListRenderer.ts Routes kind: 'hook' content to a dedicated renderer content part.
src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatHookContentPart.css Styles hook outcome icon and hook detail display.
src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatHookContentPart.ts Implements the collapsible hook result UI component.
src/vs/workbench/api/common/extHostTypes.ts Adds ext host-side ChatResponseHookPart type for the API implementation.
src/vs/workbench/api/common/extHostTypeConverters.ts Adds DTO conversions and part detection for ChatResponseHookPart.
src/vs/workbench/api/common/extHostChatAgents2.ts Adds hookProgress(...) streaming method implementation in the ext host response stream.
src/vs/workbench/api/common/extHost.api.impl.ts Exposes ChatResponseHookPart constructor on the proposed API object.

@justschen justschen marked this pull request as ready for review February 6, 2026 21:40
@vs-code-engineering vs-code-engineering bot added this to the February 2026 milestone Feb 6, 2026
pwang347
pwang347 previously approved these changes Feb 6, 2026
dmitrivMS
dmitrivMS previously approved these changes Feb 6, 2026
@justschen justschen dismissed stale reviews from dmitrivMS and pwang347 via e42067a February 6, 2026 23:27
pwang347
pwang347 previously approved these changes Feb 6, 2026
@justschen justschen merged commit 92f3084 into main Feb 7, 2026
18 checks passed
@justschen justschen deleted the justin/musharna branch February 7, 2026 00:03
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.

3 participants