diff --git a/docs/cli/message.md b/docs/cli/message.md index cb891526d..c205c00a5 100644 --- a/docs/cli/message.md +++ b/docs/cli/message.md @@ -48,6 +48,7 @@ Target formats (`--to`): - Optional: `--media`, `--reply-to`, `--thread-id`, `--gif-playback` - Telegram only: `--buttons-json` (requires `"inlineButtons"` in `telegram.capabilities` or `telegram.accounts..capabilities`) - Telegram only: `--thread-id` (forum topic id) + - Slack only: `--thread-id` (thread timestamp; `--reply-to` uses the same field) - WhatsApp only: `--gif-playback` - `poll` diff --git a/docs/concepts/session-tool.md b/docs/concepts/session-tool.md index 44c1f3496..947292d02 100644 --- a/docs/concepts/session-tool.md +++ b/docs/concepts/session-tool.md @@ -15,8 +15,8 @@ Goal: small, hard-to-misuse tool set so agents can list sessions, fetch history, - `sessions_spawn` ## Key Model -- Main direct chat bucket is always the literal key `"main"`. -- Group chats use `:group:` or `:channel:`. +- Main direct chat bucket is always the literal key `"main"` (resolved to the current agent’s main key). +- Group chats use `agent:::group:` or `agent:::channel:` (pass the full key). - Cron jobs use `cron:`. - Hooks use `hook:` unless explicitly set. - Node bridge uses `node-` unless explicitly set. diff --git a/docs/providers/imessage.md b/docs/providers/imessage.md index b93698821..b3a3d6965 100644 --- a/docs/providers/imessage.md +++ b/docs/providers/imessage.md @@ -30,7 +30,7 @@ Minimal config: ## What it is - iMessage provider backed by `imsg` on macOS. - Deterministic routing: replies always go back to iMessage. -- DMs share the agent's main session; groups are isolated (`imessage:group:`). +- DMs share the agent's main session; groups are isolated (`agent::imessage:group:`). - If a multi-participant thread arrives with `is_group=false`, you can still isolate it by `chat_id` using `imessage.groups` (see “Group-ish threads” below). ## Requirements diff --git a/docs/providers/msteams.md b/docs/providers/msteams.md index 0ff8be17f..0c08ffa01 100644 --- a/docs/providers/msteams.md +++ b/docs/providers/msteams.md @@ -333,7 +333,7 @@ Key settings (see `/gateway/configuration` for shared provider patterns): ## Routing & Sessions - Session keys follow the standard agent format (see [/concepts/session](/concepts/session)): - - Direct messages: `agent::msteams:dm:` (shared main session). + - Direct messages share the main session (`agent::`). - Channel/group messages use conversation id: - `agent::msteams:channel:` - `agent::msteams:group:` diff --git a/docs/providers/signal.md b/docs/providers/signal.md index 6140efa7b..d6ca23eaa 100644 --- a/docs/providers/signal.md +++ b/docs/providers/signal.md @@ -32,7 +32,7 @@ Minimal config: ## What it is - Signal provider via `signal-cli` (not embedded libsignal). - Deterministic routing: replies always go back to Signal. -- DMs share the agent's main session; groups are isolated (`signal:group:`). +- DMs share the agent's main session; groups are isolated (`agent::signal:group:`). ## The number model (important) - The gateway connects to a **Signal device** (the `signal-cli` account). diff --git a/docs/providers/telegram.md b/docs/providers/telegram.md index e42be0577..2d2b6873e 100644 --- a/docs/providers/telegram.md +++ b/docs/providers/telegram.md @@ -30,7 +30,7 @@ Minimal config: ## What it is - A Telegram Bot API provider owned by the Gateway. - Deterministic routing: replies go back to Telegram; the model never chooses providers. -- DMs share the agent's main session; groups stay isolated (`telegram:group:`). +- DMs share the agent's main session; groups stay isolated (`agent::telegram:group:`). ## Setup (fast path) ### 1) Create a bot token (BotFather) diff --git a/docs/tools/agent-send.md b/docs/tools/agent-send.md index 3ec81a700..bf3ddd641 100644 --- a/docs/tools/agent-send.md +++ b/docs/tools/agent-send.md @@ -13,14 +13,14 @@ runtime on the current machine. - Required: `--message ` - Session selection: - - `--to ` derives the session key (normal direct-chat routing), **or** + - `--to ` derives the session key (use delivery-style targets; group/channel targets preserve isolation), **or** - `--session-id ` reuses an existing session by id - Runs the same embedded agent runtime as normal inbound replies. - Thinking/verbose flags persist into the session store. - Output: - default: prints reply text (plus `MEDIA:` lines) - `--json`: prints structured payload + metadata -- Optional delivery back to a provider with `--deliver` + `--provider`. +- Optional delivery back to a provider with `--deliver` + `--provider` (target formats match `clawdbot message --to`). If the Gateway is unreachable, the CLI **falls back** to the embedded local run.