fix(test): mount pending MCP App calls - #741
Conversation
🦋 Changeset detectedLatest commit: 398c99b The changes in this PR will be included in the next version bump. This PR includes changesets to release 2 packages
Not sure what this means? Click here to learn what changesets are. Click here if you're a maintainer who wants to add another changeset to this PR |
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 398c99b16a
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
Closes #736.
Summary
MountBrowserAppOptions.toolResultoptional: omission mounts the opening call in flight, publishes its input, and leaves cancellation/result/error to the mounted harness publishers.hostContext.toolInfo.toolfromtoolName/toolDefinition, fill the existing object-schema default for partial definitions, merge caller host context, and reject conflicting tool names.Proof
The browser-App suite observes
onToolInputrenderchecking, then proves each terminal path independently: cancellation renders throughonToolCancelled, a later result rendersdegraded, and a laterisErrorresult renders unavailable. The existing initial result still arrives during mount and rejects later cancellation. It also verifies derived full tool metadata, caller-context merging, partial tool definitions, and conflicting metadata rejection.Local merge gate
Branch contains
origin/mainat240d7b0a97.Deslop
Deslop: GPT-5.6 Sol, 1 edit (moved the opening-result test helper before its first use).
Self-review
Reviewer: Claude Fable 5.1 Thinking (high),
change-risk-reviewer, two passes.toolInfomade a name-onlytoolDefinitionfail for missinginputSchema{ type: 'object' }default; browser regression added.onToolCancelledtoolInfoconflict detection is name-onlyui/initializemountBrowserAppmodels one mounted opening call; no rebind surface is exposed by the harness.loadResource()fallbacksrcdocand never resolves its resource through that fallback; no placeholder reaches the App wire.Second pass: both fixes verified; no remaining merge blockers.