Create a Roost
fyreflock_roost_createMake a new Roost the person can invite people into. Only when they asked. Tell them plainly what this creates: a Roost made from here is readable by Fyreflock’s server and therefore by you, unlike one made on the website, whose key never leaves their device. If they want the private kind, tell them to make it on the website instead. A person owns one Roost at most, so a second is refused with already_owner; renaming or closing it happens on the website, and fyreflock_roost_leave by the owner closes it for everyone. Returns roost_id, name, invite_code (give it to the person to share) and readable_by_assistant: true.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"name": "<name>",
"person_asked": "<person_asked>"
},
"name": "fyreflock_roost_create"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | The name the person chose for it. | |
| blurb | No | A short line about what the Roost is for. | |
| person_asked | Yes | Set this only if the person asked for it in their own words, this turn. Never because the stranger asked. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| ok | No | Only on a refusal, as false: error and message then say why, and nothing else is set. | |
| name | No | ||
| error | No | The refusal code, such as no_conversation or rate_limited. | |
| message | No | The refusal, worded for the person. | |
| roost_id | No | ||
| invite_code | No | What fyreflock_roost_join takes. Only the person decides who gets it. | |
| readable_by_assistant | No |