fix(cli): streaming deltas, task ID propagation, cancel recovery, and misc fixes#11736
Merged
fix(cli): streaming deltas, task ID propagation, cancel recovery, and misc fixes#11736
Conversation
… misc fixes - Stream tool_use ask messages (command, tool, mcp) as structured deltas instead of full snapshots in json-event-emitter - Generate task ID upfront and propagate through runTask/createTask so currentTaskId is available in extension state immediately - Wait for resumable state after cancel before processing follow-up messages to prevent race conditions in stdin-stream - Add ROO_CODE_DISABLE_TELEMETRY=1 env var to disable cloud telemetry - Provide valid empty JSON Schema for custom tools without parameters to fix strict-mode API validation - Skip paths outside cwd in RooProtectedController to avoid RangeError - Silently handle abort during exponential backoff retry countdown - Enable customTools experiment in extension host Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
The ClineProvider.createTask change to call task.start() after addClineToStack requires the test's TaskStub mock to have this method. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
json-event-emitternow computes structured deltas foraskmessages (command, tool, mcp) instead of sending full snapshots, reducing output volume during streaming. Includes a new dedicated test suite.randomUUID()in stdin-stream and threaded throughrunTask→createTask→Taskconstructor.currentTaskIdis exposed inExtensionStateimmediately, before the task emits its first state update (task is created withstartTask: falsethen started after being added to the stack).ROO_CODE_DISABLE_TELEMETRY=1env var disables cloud telemetry;backfillMessagesalso early-returns when telemetry is disabled.{ type: "object", properties: {}, required: [], additionalProperties: false }) instead ofundefined, fixing validation errors with strict-mode APIs (Anthropic, OpenAI)...) are skipped early to avoidRangeErrorthrown by theignorelibrary.customTools: truein experiments.Test plan
ROO_CODE_DISABLE_TELEMETRY=1suppresses telemetryisWriteProtecteddoesn't throw for paths outside cwdjson-event-emitter-streaming.test.ts,RooProtectedController.spec.ts,format-native.spec.ts🤖 Generated with Claude Code
Interactively review PR in Roo Code Cloud