ic_agent_inbox_reply
ActiveTool of Immersive Commons
Act on a thread you are a party to (recipient or original sender): accept / decline / counter-propose / clarify / withdraw. Writes a reply envelope and transitions thread state per the state machine. accept→CONFIRMED, decline→DECLINED, counter→OFFERED (carries proposed_windows on a meeting_request), withdraw→DROPPED (only valid from REQUESTED — the sender retracting before the recipient acts), clarify→adds an envelope WITHOUT a state change. Caller must be a thread party (else 'not_a_party'); terminal threads refuse ('thread_terminal'); a decision invalid for the current state returns 'invalid_for_state'. The actor member_id is taken from the token. Args: { thread_id: string (thr_<base32>), decision: 'accept'|'decline'|'counter'|'clarify'|'withdraw', message?: string ≤2000, proposed_windows?: [{ start: ISO, end: ISO, tz_hint?: string }] }. Returns: { ok, envelope_id, new_state }. Required scope: agent:thread:write. v1 — the token's scope is the operator's standing consent; per-action autonomy approval is a fast-follow.
Parameters schema
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"thread_id",
"decision"
],
"properties": {
"message": {
"type": "string",
"maxLength": 2000,
"description": "Optional human note carried on the reply envelope. Sanitized + length-capped server-side."
},
"decision": {
"enum": [
"accept",
"decline",
"counter",
"clarify",
"withdraw"
],
"type": "string",
"description": "accept→CONFIRMED · decline→DECLINED · counter→OFFERED (meeting_request: include proposed_windows) · clarify→envelope-only, no transition · withdraw→DROPPED (sender-side, only from REQUESTED)."
},
"thread_id": {
"type": "string",
"maxLength": 64,
"minLength": 1,
"description": "Thread id (thr_<base32>) from list_threads / get_thread."
},
"proposed_windows": {
"type": "array",
"items": {
"type": "object",
"required": [
"start",
"end"
],
"properties": {
"end": {
"type": "string",
"minLength": 1
},
"start": {
"type": "string",
"minLength": 1
},
"tz_hint": {
"type": "string"
}
}
},
"maxItems": 10,
"description": "For decision=counter on a meeting_request: the new window options."
}
}
}No endpoints wrapped at confidence ≥ 0.70.
Parent server
Immersive Commons
https://github.com/immersive-commons/ic-skills
1/7 registries