pub(crate) const OPEN_WIDGET_TOOL: &str = r#"{
"name": "OpenWidget",
"description": "Open a pane of an installed, approved widget next to this conversation. view is one of the widget's views from WidgetList (ext:<id>/<pane>). meta sets keys of the pane's own widget state (what the widget reads with meta.get), e.g. {\"repo\": \"owner/name\"}. Fails, saying why, if the widget isn't approved or is turned off. If the widget then shows an error, read it, fix the package, and WidgetInstall again.",
"inputSchema": {
"type": "object",
"properties": {
"view": { "type": "string", "description": "The view to open, e.g. ext:acme.todo/main" },
"meta": { "type": "object", "description": "The pane's initial widget state, as the widget's own keys" },
"split": { "type": "string", "enum": ["right", "down"], "description": "Where to place the pane relative to this agent pane (default: right)" }
},
"required": ["view"]
}
}"#;