{"record":{"id":"6a9cf384f7ea346d","repo":"tinyhumansai/openhuman","slug":"missing-required-parameter-input-6a9cf3","errorCode":null,"errorMessage":"Missing required parameter: input","messagePattern":"Missing required parameter: input","errorType":"validation","errorClass":null,"httpStatus":null,"severity":"error","filePath":"src/openhuman/search/tools/parallel.rs","lineNumber":695,"sourceCode":"                \"output_schema\": {\n                    \"type\": \"object\",\n                    \"description\": \"Optional JSON schema describing the desired structured output\"\n                },\n                \"timeout_seconds\": {\n                    \"type\": \"integer\",\n                    \"minimum\": 10,\n                    \"maximum\": 900,\n                    \"description\": \"Max time to wait inline (default 600)\"\n                }\n            },\n            \"required\": [\"input\", \"processor\"]\n        })\n    }\n\n    async fn execute(&self, args: serde_json::Value) -> anyhow::Result<ToolResult> {\n        let input = args\n            .get(\"input\")\n            .ok_or_else(|| anyhow::anyhow!(\"Missing required parameter: input\"))?;\n        let processor = args\n            .get(\"processor\")\n            .and_then(|v| v.as_str())\n            .ok_or_else(|| anyhow::anyhow!(\"Missing required parameter: processor\"))?;\n\n        let mut body = json!({\n            \"input\": input,\n            \"processor\": processor,\n            \"wait\": true,\n        });\n        if let Some(schema) = args.get(\"output_schema\") {\n            body[\"outputSchema\"] = schema.clone();\n        }\n        if let Some(t) = args.get(\"timeout_seconds\").and_then(|v| v.as_u64()) {\n            body[\"timeoutSeconds\"] = json!(t.clamp(10, 900));\n        }\n\n        tracing::info!(\"[parallel_research] processor={}\", processor);","sourceCodeStart":677,"sourceCodeEnd":713,"githubUrl":"https://github.com/tinyhumansai/openhuman/blob/749120085864ce16e0f273c7b86fac7740b39c5b/src/openhuman/search/tools/parallel.rs#L677-L713","documentation":"Argument-validation guard in the Parallel processor/task tool's execute: 'input' is missing entirely (args.get(\"input\") yields None — any JSON type is accepted, only presence is checked). The schema requires [input, processor]. Malformed model call; returned as a tool error before any work is dispatched.","triggerScenarios":"Thrown at src/openhuman/search/tools/parallel.rs:695 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Re-issue the call including 'input' (string or structured payload to be processed).","Pair it with the required 'processor' parameter per the schema.","Check that argument serialization is not silently dropping null/omitted fields."],"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"}