tinyhumansai/openhuman · error
Missing required parameter 'content'
Error message
Missing required parameter 'content'
What it means
Third in insert_sql_record's extraction chain: 'content' must be a string. This fires when the message body is absent or non-string, after session_id/role validated but before insertion.
Source
Thrown at src/openhuman/tools/impl/system/insert_sql_record.rs:88
PermissionLevel::Write
}
async fn execute(&self, args: serde_json::Value) -> anyhow::Result<ToolResult> {
// ── Parameter extraction ────────────────────────────────────────────
let session_id = args
.get("session_id")
.and_then(|v| v.as_str())
.ok_or_else(|| anyhow::anyhow!("Missing required parameter 'session_id'"))?;
let role = args
.get("role")
.and_then(|v| v.as_str())
.ok_or_else(|| anyhow::anyhow!("Missing required parameter 'role'"))?;
let content = args
.get("content")
.and_then(|v| v.as_str())
.ok_or_else(|| anyhow::anyhow!("Missing required parameter 'content'"))?;
let lesson = args.get("lesson").and_then(|v| v.as_str());
// ── Validation ──────────────────────────────────────────────────────
if !VALID_ROLES.contains(&role) {
return Ok(ToolResult::error(format!(
"Invalid role '{role}'. Must be one of: user, assistant, tool."
)));
}
if session_id.trim().is_empty() {
return Ok(ToolResult::error("'session_id' must not be empty."));
}
if content.trim().is_empty() {
return Ok(ToolResult::error("'content' must not be empty."));
}
View on GitHub (pinned to 7491200858)
Solutions
- Include the non-empty "content" string holding the message text
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at src/openhuman/tools/impl/system/insert_sql_record.rs:88 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of tinyhumansai/openhuman@7491200858 (2026-08-17).
Data as JSON: /api/errors/83d816c92cc1b945.
Report an issue: GitHub.