Thanks to visit codestin.com
Credit goes to github.com

Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: coder/xum
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: fbbea2b
Choose a base ref
...
head repository: coder/xum
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: d65a673
Choose a head ref
  • 4 commits
  • 12 files changed
  • 1 contributor

Commits on Sep 13, 2026

  1. 🤖 fix(tools): summarize invalid tool input errors for the model

    When the AI SDK rejects a tool call before execution, StreamManager relayed
    the raw AI_InvalidToolInputError string as the tool result. That string
    echoes the entire submitted input and buries the single zod issue at the
    end without stating the received length, so the model retried blind.
    
    Add a shared formatToolInputIssues helper that renders zod issues as
    "<path>: <message> (received N characters)" without echoing the value,
    use it for the kernel bridge's existing "Invalid arguments" path, and have
    StreamManager derive the same concise message from the invalid tool-call
    part's cause chain before the matching tool-error arrives.
    ibetitsmike committed Sep 13, 2026
    Configuration menu
    Copy the full SHA
    32b1939 View commit details
    Browse the repository at this point in the history
  2. 🤖 fix(advisor): state the question cap and reject empty advice

    Share the 2000-character question limit between the schema and the tool
    description so the model knows the cap up front. Return an error result
    when the advisor stream finishes without any text instead of a
    success-shaped empty advice string, so the caller and the tool card see
    that the consultation produced nothing.
    ibetitsmike committed Sep 13, 2026
    Configuration menu
    Copy the full SHA
    b5a7176 View commit details
    Browse the repository at this point in the history
  3. 🤖 fix(stream): summarize invalid tool input for the model's same-turn…

    … retry
    
    streamText builds the next step's tool-result from the stream after
    experimental_transform runs, and prepareStep leaves that content alone, so
    the fullStream consumer's rewrite only reached the tool card and later turns.
    Within the same turn the model still received the SDK's input-echoing
    AI_InvalidToolInputError text on its retry (found in UAT round 2).
    
    Move the summary into a streamText transform that records each rejected
    tool-call's concise message and rewrites the matching tool-error, so the
    model's same-turn retry, the persisted history, and the card all carry the
    same text. Drop the consumer-side plumbing that this replaces, and cover the
    same-turn path with an end-to-end StreamManager test that asserts the second
    provider request's tool-result.
    ibetitsmike committed Sep 13, 2026
    Configuration menu
    Copy the full SHA
    44aafaf View commit details
    Browse the repository at this point in the history
  4. 🤖 fix(tools): cap the rendered issues in tool input summaries

    A malformed array input yields one zod issue per entry per field, so a single
    rejected call could expand into an unbounded summary in the next model request
    and in history. Render at most eight issues and count the rest.
    
    Follow-up to #4227 (Codex P1 on formatToolInputIssues.ts).
    ibetitsmike committed Sep 13, 2026
    Configuration menu
    Copy the full SHA
    d65a673 View commit details
    Browse the repository at this point in the history
Loading