tinyhumansai/openhuman · error · anyhow::Error
invalid group params: {e}
Error message
invalid group params: {e} What it means
Wrapped error in the tiny.place create_group flow: the membership-policy/extra parameters extracted from tool args could not be merged into the JSON request body — {e} names the argument that failed conversion. The body is built via JSON precisely so the enum/camelCase wire format is handled by serde; a bad `policy` or similar value surfaces here.
Source
Thrown at src/openhuman/tinyplace/agent_tools/flows_write.rs:365
fn create_group_flow(args: Value) -> FlowFuture {
Box::pin(async move {
let name = req_str(&args, "name")?;
log::debug!("[tinyplace][flow] create_group start name={name}");
let client = client().await?;
// Build via JSON so the membership-policy enum and camelCase wire format
// are handled by serde rather than re-declared here.
let mut body = json!({ "name": name });
if let Some(desc) = opt_str(&args, "description") {
body["description"] = json!(desc);
}
if let Some(policy) = opt_str(&args, "policy") {
body["membershipPolicy"] = json!(policy);
}
if let Some(tags) = opt_str_list(&args, "tags") {
body["tags"] = json!(tags);
}
let request: GroupCreateRequest = serde_json::from_value(body)
.map_err(|e| anyhow::anyhow!("invalid group params: {e}"))?;
match client.groups.create(request).await {
Ok(group) => {
let v = serde_json::to_value(group).unwrap_or(Value::Null);
let group_id = collect_field(&v, "groupId").into_iter().next();
let mut md = Markdown::new();
md.heading(format!("Created group \"{name}\""));
md.raw_section(render_json(&v));
let suggestions = group_id
.map(|id| {
vec![Suggestion::new(
"Create an invite link",
"tinyplace_call",
json!({ "command": "groups_create_invite", "params": { "groupId": id } }),
)]
})
.unwrap_or_default();
finish(md, &suggestions)
}View on GitHub (pinned to 7491200858)
Solutions
- Check {e} for which parameter failed
- Use a valid membership policy value as documented by the group API
- Resubmit with corrected parameters
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at src/openhuman/tinyplace/agent_tools/flows_write.rs:365 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/eeb0b64f20493157.
Report an issue: GitHub.