{"version":"0.20.0","name":"kanvas_timer","description":"Countdown/stopwatch control on the current display: start, pause, resume, stop, set. Required: operation. Required fields by operation: control(sessionId,displayId,expectedRevision,requestId,action).","inputSchema":{"type":"object","properties":{"operation":{"type":"string","enum":["control"],"description":"Required operation; supply only the fields in its matching branch."},"sessionId":{"type":"string","minLength":1,"maxLength":128},"displayId":{"type":"string","minLength":1,"maxLength":128},"expectedRevision":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Current display revision from kanvas_display operation current. A new action requires a fresh revision and request ID."},"requestId":{"type":"string","minLength":1,"maxLength":128,"description":"Stable idempotency key. Retry the exact original action after a lost response; the stored receipt and duration are reused, even after a restart."},"action":{"type":"string","enum":["pause","resume"],"description":"Pause the active running timer, or resume its stored paused duration. Supports both countdown directions and only the current presentation slide; changes no source text."}},"required":["operation"],"oneOf":[{"properties":{"operation":{"const":"control"},"sessionId":{},"displayId":{},"expectedRevision":{},"requestId":{},"action":{}},"required":["operation","sessionId","displayId","expectedRevision","requestId","action"],"additionalProperties":false}],"examples":[{"operation":"control","sessionId":"s","displayId":"d","expectedRevision":3,"requestId":"r0","action":"pause"}]},"annotations":{"readOnlyHint":false,"destructiveHint":true,"idempotentHint":false,"openWorldHint":true}}