inspector/clients
Repository files (latest commit first)
Filename Latest commit message Latest commit date
cliffhall 98d1fe752d fix(apps): gate the capability observer on the bridge's own initialize schema
The hand-rolled accept check was shallower than the bridge's, so frames it
rejects could still set `elicitation` here — `appInfo: {}` passed, though
`McpUiInitializeRequestSchema` requires an implementation name and version.
Any approximation drifts; the schema itself does not, and ext-apps exports it.

Capabilities are still read from the ORIGINAL frame rather than the parse
output, since that schema is precisely what strips `elicitation` — validating
with it and reading through it would defeat the module. The one check the
schema cannot make is that the frame is a request at all (a notification
carries the same method and params), so the id check stays.

Also stops treating a truthy non-object as an advertisement: the draft declares
`elicitation` as an object, so `elicitation: true` is a value it does not
define and the bridge's schema will reject it the moment it carries the key.

Signed-off-by: cliffhall <cliff@futurescale.com>
2026-08-22 21:29:55 -04:00
..
cli chore(deps): bump nanoid to 3.3.18 to clear the high-severity advisory 2026-08-18 23:12:10 -04:00
launcher chore(deps): bump nanoid to 3.3.18 to clear the high-severity advisory 2026-08-18 23:12:10 -04:00
tui chore(deps): bump nanoid to 3.3.18 to clear the high-severity advisory 2026-08-18 23:12:10 -04:00
web fix(apps): gate the capability observer on the bridge's own initialize schema 2026-08-22 21:29:55 -04:00