{"record":{"id":"af4fd34ac68eb241","repo":"tinyhumansai/openhuman","slug":"missing-path-parameter","errorCode":null,"errorMessage":"Missing 'path' parameter","messagePattern":"Missing 'path' parameter","errorType":"validation","errorClass":"anyhow::Error","httpStatus":null,"severity":"error","filePath":"src/openhuman/tools/impl/browser/image_info.rs","lineNumber":151,"sourceCode":"            \"properties\": {\n                \"path\": {\n                    \"type\": \"string\",\n                    \"description\": \"Path to the image file (absolute or relative to workspace)\"\n                },\n                \"include_base64\": {\n                    \"type\": \"boolean\",\n                    \"description\": \"Include base64-encoded image data in output (default: false)\"\n                }\n            },\n            \"required\": [\"path\"]\n        })\n    }\n\n    async fn execute(&self, args: serde_json::Value) -> anyhow::Result<ToolResult> {\n        let path_str = args\n            .get(\"path\")\n            .and_then(|v| v.as_str())\n            .ok_or_else(|| anyhow::anyhow!(\"Missing 'path' parameter\"))?;\n\n        let include_base64 = args\n            .get(\"include_base64\")\n            .and_then(serde_json::Value::as_bool)\n            .unwrap_or(false);\n\n        // Security check: validate path string, resolve symlinks, confirm workspace containment.\n        let resolved = match self.security.validate_path(path_str).await {\n            Ok(p) => p,\n            Err(msg) => return Ok(ToolResult::error(msg)),\n        };\n\n        let metadata = tokio::fs::metadata(&resolved)\n            .await\n            .map_err(|e| anyhow::anyhow!(\"Failed to read file metadata: {e}\"))?;\n\n        let file_size = metadata.len();\n","sourceCodeStart":133,"sourceCodeEnd":169,"githubUrl":"https://github.com/tinyhumansai/openhuman/blob/749120085864ce16e0f273c7b86fac7740b39c5b/src/openhuman/tools/impl/browser/image_info.rs#L133-L169","documentation":"Required-parameter guard in the image_info tool's execute: the `path` argument (image file, absolute or workspace-relative) is absent or not a string. The schema requires path with optional include_base64; fires before the file is opened, so no file access occurred.","triggerScenarios":"Thrown at src/openhuman/tools/impl/browser/image_info.rs:151 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Include `path` as a string pointing at the image file","Use an absolute path or one relative to the workspace"],"exampleFix":null,"handlingStrategy":"validation","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"749120085864ce16e0f273c7b86fac7740b39c5b","analyzedAt":"2026-08-17T21:21:45.363Z","contentChangedAt":null,"schemaVersion":2},"datasetVersion":"2026-09-14T00:17:10.932Z"}