@inline-openclaw/inline 0.0.39 → 0.0.41

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -12,24 +12,19 @@ Supports:
12
12
  - Inline DMs (`ChatType=direct`)
13
13
  - Inline chats as conversations (`ChatType=group`)
14
14
  - Message replies: OpenClaw `replyToId` is mapped to Inline `replyToMsgId` (message id).
15
- - Optional Inline reply threads: enable `channels.inline.capabilities.replyThreads: true` to expose Inline reply-thread chats as OpenClaw threads.
15
+ - Inline reply threads: tools can create and reply in real Inline reply-thread chats.
16
16
  - Inline media upload/send for images, videos, and documents from `mediaUrl` payloads.
17
17
  - Emoji reactions via message tool actions (`react`, `reactions`).
18
18
  - Reaction events on bot-authored messages are surfaced back to the agent as inbound context.
19
19
 
20
- By default, Inline reply threads stay off to preserve the old compatibility behavior. When disabled:
20
+ Reply-thread behavior:
21
21
 
22
- - `replyToId` remains an Inline message reply only.
23
- - `thread-reply` keeps the legacy compatibility path.
24
- - `thread-create` keeps the legacy chat-creation alias behavior.
25
-
26
- When enabled:
27
-
28
- - inbound reply-thread messages use the parent chat as the base conversation target and the child reply-thread chat id as `MessageThreadId`
29
- - bot-participated reply threads can continue without an explicit bot mention by default, matching Slack-style thread behavior
30
- - reply-thread context includes the anchor message plus child-thread history by default; parent-chat history is opt-in
31
- - outbound `thread-reply` sends into the child reply-thread chat
32
- - `thread-create` creates a real Inline reply thread instead of a plain chat alias
22
+ - Small/new parent-chat conversations stay in the parent chat by default.
23
+ - `replyThreadMode: "thread"` opts a parent chat into automatic reply-thread delivery once `replyThreadAutoCreateMinMessages` is reached.
24
+ - `replyThreadMode: "main"` keeps automatic replies in the parent chat, while explicit `thread-create` and `thread-reply` tools remain available.
25
+ - `thread-create` creates a real Inline reply thread. `thread-reply` sends into the child reply-thread chat id returned by `thread-create`.
26
+ - Inbound reply-thread messages use the parent chat as the base conversation target and the child reply-thread chat id as `MessageThreadId`.
27
+ - Bot-participated reply threads can continue without an explicit bot mention by default, matching Slack-style thread behavior.
33
28
 
34
29
  ## Install
35
30
 
@@ -138,10 +133,10 @@ channels:
138
133
  groupPolicy: "allowlist" # allowlist|open|disabled
139
134
  groupAllowFrom:
140
135
  - "inline:123" # or "user:123" or just "123"
141
- capabilities:
142
- replyThreads: false # optional, default false; enable Inline reply-thread support
143
136
  requireMention: true # optional: default is false
144
137
  replyToBotWithoutMention: true # if true, replies to bot messages can bypass mention requirement
138
+ replyThreadMode: "auto" # auto|thread|main; thread auto-routes long parent-chat replies into one reply thread
139
+ replyThreadAutoCreateMinMessages: 50 # optional, default 50; avoids creating reply threads for small/new chats
145
140
  replyThreadRequireExplicitMention: false # optional, default false; bot-participated reply threads continue without @mention
146
141
  replyThreadParentHistoryLimit: 10 # optional, default 10; set 0 to disable parent-chat context before the anchor
147
142
 
@@ -179,21 +174,19 @@ Per-account override:
179
174
  ```yaml
180
175
  channels:
181
176
  inline:
182
- capabilities:
183
- replyThreads: false
184
177
  accounts:
185
178
  work:
186
179
  token: "<INLINE_BOT_TOKEN>"
187
180
  defaultTo: "user:123"
188
- capabilities:
189
- replyThreads: true
181
+ replyThreadMode: "main"
190
182
  ```
191
183
 
192
184
  Reply behavior summary:
193
185
 
194
186
  - `replyToId` is always an Inline message id.
195
187
  - Inline reply threads are separate and use OpenClaw `threadId`.
196
- - Keep `replyThreads` off if you only want classic message replies.
188
+ - Use `replyThreadMode: "main"` if you only want automatic parent-chat replies to stay in the parent chat.
189
+ - Use `replyThreadMode: "thread"` plus `replyThreadAutoCreateMinMessages` when long parent-chat conversations should move into one stable reply thread.
197
190
  - Bot-participated reply threads continue without `@bot` by default, including from persisted recent participation state. Set `replyThreadRequireExplicitMention: true` if a chat should require `@bot` on every reply-thread message.
198
191
  - `replyThreadParentHistoryLimit` defaults to `10`, so reply-thread turns include nearby parent-chat context before the anchor. Set it to `0` only when a chat should stay strictly thread-local.
199
192
 
@@ -239,12 +232,13 @@ Direct DM sends can also target `user:<id>`.
239
232
  - Pins: `pin`, `unpin`, `list-pins`
240
233
  - Space permissions: `permissions`
241
234
 
242
- Inline reply-thread semantics are behind `channels.inline.capabilities.replyThreads`:
235
+ Inline reply-thread semantics:
243
236
 
244
- - disabled: `thread-reply` behaves like the old compatibility reply path
245
- - enabled: `thread-reply` expects `threadId` to be the child reply-thread chat id, while `to` stays the parent chat id
246
- - enabled: `thread-create` creates a real reply thread from a parent chat and optional `replyToId` anchor
247
- - enabled: if the current reply-thread message has no direct media, OpenClaw can inherit the anchor message media so image/file-only thread starters remain visible to the agent
237
+ - `thread-reply` expects `threadId` to be the child reply-thread chat id, while `to` stays the parent chat id.
238
+ - `thread-create` creates a real reply thread from a parent chat and optional `replyToId` anchor.
239
+ - Automatic thread creation falls back to parent-chat delivery if the reply thread cannot be created.
240
+ - Existing route state is reused so long conversations stay in one reply thread instead of creating one thread per message.
241
+ - If the current reply-thread message has no direct media, OpenClaw can inherit the anchor message media so image/file-only thread starters remain visible to the agent.
248
242
 
249
243
  You can gate action groups from config:
250
244