Fix: add missing upstream dependencies breaking main#3
Merged
Conversation
…nuedev#10551) * refactor: unify AbortError detection with isAbortError utility AbortError detection was scattered across 3+ patterns (string comparison, .name check, .code check). Consolidates into a single isAbortError() utility that handles all known patterns: "cancel" string, DOMException, Error.name variants, ABORT_ERR code, and plain objects. Updates call sites in core/llm/index.ts and core/llm/utils/retry.ts. * fix: use exact match for AbortError name, add null guard, improve tests - Changed .includes("AbortError") to === "AbortError" to preserve original exact-match semantics at L505 and retry.ts call sites - Added null/undefined early return to prevent TypeError on "name" in null - Unified DOMException branch to use exact match consistently - Tests: removed 4 redundant same-branch duplicates, added 12 new cases (case sensitivity, empty string, non-string name, partial name boundary, DOMException negative, plain object code asymmetry, boolean, frozen object, Error subclass, TypeError) - Fixed DOMException test skip from expect(true).toBe(true) to it.skipIf * fix: replace == null with === null || === undefined (eqeqeq) --------- Co-authored-by: amabito <192487536+amabito@users.noreply.github.com> Co-authored-by: amabito <amabito@local>
…sage path (continuedev#10485) fix: harden system message tools instructions and wire toolOverrides to system message path The system message tools path (used when models don't support native tool calling) had two issues: 1. Weak format instructions - the prefix/suffix used vague prose that local models often ignored, reverting to XML or JSON tool call formats from their training priors. Replaced with explicit numbered rules that prohibit alternative formats. 2. toolOverrides silently ignored - applyToolOverrides() existed and ran on the native tools path (in BaseLLM.streamChat), but was never called on the system message path. Config YAML toolOverrides for disabled and description had no effect when tools were injected via system message. Fixed by: - Strengthening systemMessagePrefix/Suffix in toolCodeblocks framework - Adding toolOverrides to ModelDescription interface and serialization - Calling applyToolOverrides() in streamNormalInput before both paths 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
isAbortErrorutility from upstream (refactor: unify AbortError detection with isAbortError utility continue#10551)toolOverridessupport from upstream (fix: harden system message tools and wire toolOverrides to system message path continue#10485)Context
PR #1 merged telemetry removal code that references these upstream changes, but the changes themselves were never brought into
main, causing build failures.Test plan
tsc --noEmitpasses in core and gui🤖 Generated with Claude Code