{"version":"0.20.0","name":"kanvas_viewers","description":"Who is watching: list viewers of a session; pointing.read/pointing.configure read or explicitly enable named semantic pointers (off by default). Required: operation. Required fields by operation: list(sessionId); pointing.read(sessionId); pointing.configure(sessionId,enabled,expectedRevision,confirm).","inputSchema":{"type":"object","properties":{"operation":{"type":"string","enum":["list","pointing.read","pointing.configure"],"description":"Required operation; supply only the fields in its matching branch."},"sessionId":{"type":"string","minLength":1,"maxLength":128,"pattern":"^[A-Za-z0-9_-]+$"},"displayId":{"type":"string","minLength":1,"maxLength":128,"pattern":"^[A-Za-z0-9_-]+$"},"enabled":{"type":"boolean"},"expectedRevision":{"type":"integer","minimum":0,"maximum":100000},"confirm":{"type":"boolean","const":true}},"required":["operation"],"oneOf":[{"properties":{"operation":{"const":"list"},"sessionId":{},"displayId":{}},"required":["operation","sessionId"],"additionalProperties":false},{"properties":{"operation":{"const":"pointing.read"},"sessionId":{},"displayId":{}},"required":["operation","sessionId"],"additionalProperties":false},{"properties":{"operation":{"const":"pointing.configure"},"sessionId":{},"enabled":{},"expectedRevision":{},"confirm":{}},"required":["operation","sessionId","enabled","expectedRevision","confirm"],"additionalProperties":false,"description":"Owner-requested, reversible session pointing overlay."}],"examples":[{"operation":"list","sessionId":"s","displayId":"d"},{"operation":"pointing.read","sessionId":"s"},{"operation":"pointing.configure","sessionId":"s","enabled":true,"expectedRevision":0,"confirm":true}]},"annotations":{"readOnlyHint":false,"destructiveHint":true,"idempotentHint":false,"openWorldHint":true}}