Skip to content
Developer Preview

ClientCapabilities

The client’s requested capability posture. Every member defaults; an absent capabilities object means all defaults.

  • experimentalApi
  • optOutNotificationMethods
  • requestedCapabilities
  • userInputDialogs
Source

schema/msp/experimental/msp.schema.json#/types/ClientCapabilities

{
"description": "The client's requested capability posture. Every member\ndefaults; an absent `capabilities` object means all defaults.",
"properties": {
"experimentalApi": {
"description": "Opt into experimental methods, fields, and variants (default `false`).",
"type": "boolean"
},
"optOutNotificationMethods": {
"description": "Exact notification method names the client declines; no wildcards;\nunknown names accepted and ignored; the protected set cannot\nbe opted out.",
"items": {
"type": "string"
},
"type": "array"
},
"requestedCapabilities": {
"description": "Names from the capability registry. Unknown entries are not an error\nand simply do not appear in `grantedCapabilities` — which is why this\nis a list of free strings rather than of registry names.",
"items": {
"type": "string"
},
"type": "array"
},
"userInputDialogs": {
"description": "Whether this client can render a `userInput/request` dialog and answer\nit. **Absent means capable**: a client that predates\nthe member keeps today's contract, so no existing client changes its\nhandshake. `false` makes the host withhold `userInput/request` toward\nthis client — the additive-optional-field + withheld-method\nconvention.\n\nDeliberately NOT a `requestedCapabilities` name: that registry records\noperations a host GRANTS, and whether a client can draw a\ndialog is a fact about the client, never a privilege the host hands\nout.",
"type": "boolean"
}
},
"type": "object"
}