{"record":{"id":"70006497e87a013a","repo":"tinyhumansai/openhuman","slug":"install-workflow-from-url-invalid-params-e","errorCode":null,"errorMessage":"install_workflow_from_url: invalid params: {e}","messagePattern":"install_workflow_from_url: invalid params: (.+?)","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"src/openhuman/skills/tools.rs","lineNumber":642,"sourceCode":"                \"timeout_secs\": { \"type\": \"integer\", \"minimum\": 1, \"description\": \"Fetch timeout (default 60, max 600).\" }\n            },\n            \"required\": [\"url\"]\n        })\n    }\n\n    fn permission_level(&self) -> PermissionLevel {\n        PermissionLevel::Write\n    }\n\n    fn external_effect(&self) -> bool {\n        // Fetches remote content over the network.\n        true\n    }\n\n    async fn execute(&self, args: serde_json::Value) -> anyhow::Result<ToolResult> {\n        log::debug!(\"[tool][skills] install_from_url invoked\");\n        let params: InstallWorkflowFromUrlParams = serde_json::from_value(args)\n            .map_err(|e| anyhow::anyhow!(\"install_workflow_from_url: invalid params: {e}\"))?;\n        let outcome = install_workflow_from_url(&self.workspace_dir, params)\n            .await\n            .map_err(|e| anyhow::anyhow!(\"install_workflow_from_url: {e}\"))?;\n        Ok(ToolResult::success(serde_json::to_string(&outcome)?))\n    }\n}\n\n/// Uninstall a user skill. **Deletes from disk** — default-OFF.\npub struct WorkflowUninstallTool;\n\n#[async_trait]\nimpl Tool for WorkflowUninstallTool {\n    fn name(&self) -> &str {\n        \"uninstall_workflow\"\n    }\n\n    fn description(&self) -> &str {\n        \"Uninstall a user-scope workflow by `name`, deleting its directory under \\","sourceCodeStart":624,"sourceCodeEnd":660,"githubUrl":"https://github.com/tinyhumansai/openhuman/blob/749120085864ce16e0f273c7b86fac7740b39c5b/src/openhuman/skills/tools.rs#L624-L660","documentation":"install_workflow_from_url could not deserialize its arguments into InstallWorkflowFromUrlParams: the required 'url' string is missing/malformed, or timeout_secs is not a positive integer. Validation guard fired before any network fetch.","triggerScenarios":"Thrown at src/openhuman/skills/tools.rs:642 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Provide 'url' as a string pointing at the workflow bundle","Keep timeout_secs an integer between 1 and 600, or omit it for the default","Check the serde message {e} for the exact field at fault"],"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-14T05:17:10.506Z"}