{"version":"0.20.0","name":"kanvas_monitor","description":"Live data on a display: push a complete number/chart sample at expectedRevision; start/update/stop owner-requested bounded public-HTTPS polling; read shows monitor health. No private/authenticated fetch. Required: operation. Required fields by operation: start(sessionId,displayId,requestId,expectedRevision,config); update(sessionId,jobId,requestId,expectedVersion,config); stop(sessionId,jobId,requestId,expectedVersion); push(sessionId,displayId,requestId,expectedRevision,data); read(sessionId).","inputSchema":{"type":"object","properties":{"operation":{"type":"string","enum":["start","update","stop","push","read"],"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},"requestId":{"type":"string","minLength":1,"maxLength":128},"expectedRevision":{"type":"integer","minimum":0,"maximum":9007199254740991},"config":{"oneOf":[{"properties":{"url":{},"intervalSeconds":{"default":60},"durationSeconds":{"default":86400},"title":{},"mode":{"const":"uptime"},"template":{"default":"fact","enum":["fact","number"]},"metric":{"default":"status"},"degradedAfterMs":{"default":1500}},"required":["url","mode"],"additionalProperties":false},{"properties":{"url":{},"intervalSeconds":{"default":60},"durationSeconds":{"default":86400},"title":{},"mode":{"const":"json"},"template":{"enum":["email","inbox","chat","cards","record-detail","bookmarks","tool-inventory","tool-detail","developer","operations","code-workspace","sports-lineup","org-chart","flowchart","network","scoreboard","standings","tool-call-log","json","session-topology","devices","fact","number","chart","table","image-gallery","image","website","iframe","story-cards","list","progress","log","comparison","checklist","map","code","whiteboard","presentation","document","video","notifications","transcription","translation","form","schedule","roster","calendar","planner","poll","countdown","qa","overview","display-grid","settings","html","timeline","itinerary","product","weather","profile","kpi","quote","recipe","menu","leaderboard","status","procedure","join","drafting","clock","now-playing"]},"mapping":{}},"required":["url","mode","template","mapping"],"additionalProperties":false},{"properties":{"url":{},"intervalSeconds":{"default":60},"durationSeconds":{"default":86400},"title":{},"mode":{"const":"image"},"alt":{"default":"Live snapshot"},"caption":{}},"required":["url","mode"],"additionalProperties":false}],"type":"object","properties":{"url":{"type":"string","maxLength":2048,"pattern":"^[Hh][Tt][Tt][Pp][Ss]:","x-kanvas-validation":"public-https","description":"Public HTTPS on port 443 only: no credentials, authentication query parameters, or fragment. The server additionally checks parsed URL, DNS/IP, redirects and network limits before every connection."},"intervalSeconds":{"type":"integer","minimum":30,"maximum":3600},"durationSeconds":{"type":"integer","minimum":60,"maximum":604800},"title":{"type":"string","minLength":1,"maxLength":200},"mode":{"type":"string"},"template":{"type":"string"},"metric":{"type":"string","enum":["status","latency","http-status"]},"degradedAfterMs":{"type":"integer","minimum":100,"maximum":60000},"mapping":{"x-kanvas-validation":"monitor-mapping","description":"Bounded declarative JSON using literal values, {$path:\"/field\",root?:true}, {$each:\"/items\",map:{...},root?:true}, or {$literal:value}. Server enforces depth 16, 4000 nodes, 64 KiB estimated size, safe scalar precision and reserved-key/pointer rules. This is data, never executable code."},"alt":{"type":"string","maxLength":500},"caption":{"type":"string","maxLength":500}}},"jobId":{"type":"string","minLength":1,"maxLength":128},"expectedVersion":{"type":"integer","minimum":0,"maximum":9007199254740991},"data":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{},"description":"Complete replacement data for the current number, gauge, line, area, bar or heatmap. Send the producer’s bounded current sample/window; no expression evaluation or generated values."}},"required":["operation"],"oneOf":[{"properties":{"operation":{"const":"start"},"sessionId":{},"displayId":{},"requestId":{},"expectedRevision":{},"config":{}},"required":["operation","sessionId","displayId","requestId","expectedRevision","config"],"additionalProperties":false,"description":"Start only explicitly requested public-source polling."},{"properties":{"operation":{"const":"update"},"sessionId":{},"jobId":{},"requestId":{},"expectedVersion":{},"config":{}},"required":["operation","sessionId","jobId","requestId","expectedVersion","config"],"additionalProperties":false,"description":"Replace an active job’s COMPLETE config using its expectedVersion, not a display revision or partial merge."},{"properties":{"operation":{"const":"stop"},"sessionId":{},"jobId":{},"requestId":{},"expectedVersion":{}},"required":["operation","sessionId","jobId","requestId","expectedVersion"],"additionalProperties":false,"description":"Stop this job at its current expectedVersion; retain the last view and the session."},{"properties":{"operation":{"const":"push"},"sessionId":{},"displayId":{},"requestId":{},"expectedRevision":{},"data":{}},"required":["operation","sessionId","displayId","requestId","expectedRevision","data"],"additionalProperties":false,"description":"Publish a compatible number/chart first."},{"properties":{"operation":{"const":"read"},"sessionId":{},"jobId":{}},"required":["operation","sessionId"],"additionalProperties":false}],"examples":[{"operation":"start","sessionId":"s","displayId":"d","expectedRevision":3,"requestId":"r0","config":{"mode":"uptime","url":"https://example.com/status","intervalSeconds":60,"durationSeconds":3600}},{"operation":"update","sessionId":"s","jobId":"job-id","requestId":"r1","expectedVersion":1,"config":{"mode":"uptime","url":"https://example.com/status","intervalSeconds":60,"durationSeconds":3600}},{"operation":"stop","sessionId":"s","jobId":"job-id","requestId":"r2","expectedVersion":1},{"operation":"push","sessionId":"s","displayId":"d","expectedRevision":3,"requestId":"r3","data":{"value":"23.4500","label":"Temperature","unit":"°C"}},{"operation":"read","sessionId":"s","jobId":"job-id"}]},"annotations":{"readOnlyHint":false,"destructiveHint":true,"idempotentHint":false,"openWorldHint":true}}