{ "id": "canvas", "doctorContract": { "stateMigrations": true }, "activation": { "onStartup": true }, "enabledByDefault": true, "name": "Canvas", "description": "Experimental Canvas control and A2UI rendering surfaces for paired nodes.", "skills": ["./skills"], "contracts": { "tools": ["canvas"] }, "configContracts": { "compatibilityMigrationPaths": ["canvasHost"] }, "uiHints": { "host": { "label": "Canvas Host", "help": "Serves local Canvas and A2UI files for paired nodes.", "advanced": true }, "host.enabled": { "label": "Canvas Host Enabled", "advanced": true }, "host.root": { "label": "Canvas Host Root Directory", "help": "Directory to serve. Defaults to the OpenClaw state canvas directory.", "advanced": true }, "host.port": { "label": "Canvas Host Port", "advanced": true }, "host.liveReload": { "label": "Canvas Host Live Reload", "advanced": true } }, "configSchema": { "type": "object", "additionalProperties": false, "properties": { "host": { "type": "object", "additionalProperties": false, "properties": { "enabled": { "type": "boolean" }, "root": { "type": "string" }, "port": { "type": "integer", "minimum": 1 }, "liveReload": { "type": "boolean" } } } } } }