@inline-openclaw/inline 0.0.46 → 0.0.48

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.
Files changed (40) hide show
  1. package/README.md +49 -10
  2. package/dist/account-inspect-api.js +4 -1
  3. package/dist/account-inspect-api.js.map +3 -3
  4. package/dist/approval-handler.runtime.js +3941 -310
  5. package/dist/approval-handler.runtime.js.map +14 -13
  6. package/dist/channel-plugin-api.js +4600 -484
  7. package/dist/channel-plugin-api.js.map +20 -19
  8. package/dist/index.d.ts +1 -1
  9. package/dist/inline/actions.d.ts +9 -4
  10. package/dist/inline/actions.d.ts.map +1 -1
  11. package/dist/inline/approval-native.d.ts.map +1 -1
  12. package/dist/inline/bot-avatar-tool.d.ts.map +1 -1
  13. package/dist/inline/bot-commands-sync.d.ts.map +1 -1
  14. package/dist/inline/channel.d.ts.map +1 -1
  15. package/dist/inline/config-schema.d.ts +21 -0
  16. package/dist/inline/config-schema.d.ts.map +1 -1
  17. package/dist/inline/exec-approvals.d.ts.map +1 -1
  18. package/dist/inline/media.d.ts +17 -0
  19. package/dist/inline/media.d.ts.map +1 -1
  20. package/dist/inline/members-tool.d.ts +2 -0
  21. package/dist/inline/members-tool.d.ts.map +1 -1
  22. package/dist/inline/message-content.d.ts +2 -0
  23. package/dist/inline/message-content.d.ts.map +1 -1
  24. package/dist/inline/message-tools.d.ts.map +1 -1
  25. package/dist/inline/monitor.d.ts.map +1 -1
  26. package/dist/inline/outbound-sanitize.d.ts +2 -0
  27. package/dist/inline/outbound-sanitize.d.ts.map +1 -1
  28. package/dist/inline/parent-context-tool.d.ts.map +1 -1
  29. package/dist/inline/shared.d.ts +1 -1
  30. package/dist/inline/thread-freshness.d.ts +24 -0
  31. package/dist/inline/thread-freshness.d.ts.map +1 -0
  32. package/dist/inline/thread-routes.d.ts +4 -0
  33. package/dist/inline/thread-routes.d.ts.map +1 -1
  34. package/dist/runtime-register-api.js +1745 -247
  35. package/dist/runtime-register-api.js.map +14 -14
  36. package/dist/setup-entry.d.ts +1 -1
  37. package/dist/setup-plugin-api.js +5 -2
  38. package/dist/setup-plugin-api.js.map +4 -4
  39. package/openclaw.plugin.json +24 -1
  40. package/package.json +8 -8
package/README.md CHANGED
@@ -14,6 +14,10 @@ Supports:
14
14
  - Message replies: OpenClaw `replyToId` is mapped to Inline `replyToMsgId` (message id).
15
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
+ - Native-style file upload action via `upload-file`.
18
+ - Native-style file download action via `download-file`.
19
+ - Inline message forwarding via `forward`/`forwardMessages` message tool actions.
20
+ - Inline compose indicators via `typing`, `stop-typing`, upload-state actions, and `recording-voice`.
17
21
  - Emoji reactions via message tool actions (`react`, `reactions`).
18
22
  - Reaction events on bot-authored messages are surfaced back to the agent as inbound context.
19
23
 
@@ -23,13 +27,20 @@ Reply-thread behavior:
23
27
  - `replyThreadMode: "auto"` also creates a child reply thread when the triggering parent-chat message explicitly asks OpenClaw to reply in a thread.
24
28
  - `replyThreadMode: "thread"` opts a parent chat into automatic reply-thread delivery once `replyThreadAutoCreateMinMessages` is reached; each triggering parent-chat message gets its own child reply thread.
25
29
  - `replyThreadMode: "main"` keeps automatic replies in the parent chat, while explicit `thread-create` and `thread-reply` tools remain available.
26
- - `thread-create` creates a real Inline reply thread. `thread-reply` sends into the child reply-thread chat id returned by `thread-create`.
30
+ - `thread-create` creates a top-level Inline thread when called with participants or `spaceId`, and creates a real Inline reply thread when called with a parent chat target or anchor. `thread-reply` sends into the child reply-thread chat id returned by reply-thread creation.
27
31
  - Inbound reply-thread messages use the parent chat as the base conversation target and the child reply-thread chat id as `MessageThreadId`.
28
32
  - Bot-participated reply threads can continue without an explicit bot mention by default, matching Slack-style thread behavior.
29
33
 
30
34
  ## Install
31
35
 
32
- Requires OpenClaw `2026.5.28` or newer.
36
+ Requires OpenClaw `2026.6.11` or newer.
37
+
38
+ ## Compatibility
39
+
40
+ | Plugin version | OpenClaw host | Inline realtime SDK | Status | Notes |
41
+ | --- | --- | --- | --- | --- |
42
+ | `0.0.48` | `>=2026.6.11` | `0.0.11` | Current | Uses the latest focused OpenClaw plugin SDK entrypoints and is the supported line for current stable OpenClaw. |
43
+ | `0.0.47` and earlier | `>=2026.5.18`, tested before the `2026.6.11` floor | `0.0.11` | Legacy | Use this line only when an older OpenClaw host cannot be upgraded yet. It keeps the previous broad SDK compatibility path. |
33
44
 
34
45
  From npm (once published):
35
46
 
@@ -147,6 +158,8 @@ channels:
147
158
 
148
159
  # Streaming + chunking:
149
160
  mediaMaxMb: 20
161
+ debounceMs: 1200 # optional: coalesce rapid same-sender Inline messages; global alternative: messages.inbound.byChannel.inline
162
+ voiceTranscriptWaitMs: 8000 # wait for Inline's voice auto-transcript edit before falling back to audio STT; set 0 to disable
150
163
  blockStreaming: true
151
164
  streamViaEditMessage: true # optional: paragraph-level text streaming via send+edit fallback; off by default
152
165
  chunkMode: "newline" # length|newline
@@ -223,21 +236,34 @@ The plugin exposes Inline RPC-backed actions through OpenClaw's `message` tool.
223
236
  Most Inline RPC-backed actions use a numeric chat id via `to`, `chatId`, or `channelId`.
224
237
  Direct DM sends can also target `user:<id>`.
225
238
 
226
- - Sending: `send`, `sendAttachment`
239
+ - Sending: `send`, `sendAttachment`, `upload-file`, `forward`, `forwardMessages`
227
240
  - Replying: `reply`, `thread-reply`
228
241
  - Reactions: `react`, `reactions`
229
- - Reading/searching: `read`, `search`
242
+ - Reading/searching/translating: `read`, `get-messages`, `getMessages`, `download-file`, `bot-commands`, `botCommands`, `peer-bot-commands`, `peerBotCommands`, `search`, `translate`, `translateMessages`
230
243
  - Editing: `edit`
231
244
  - Channels/threads: `channel-info`, `channel-edit`, `renameGroup`, `channel-list`, `channel-create`, `channel-delete`, `channel-move`, `thread-list`, `thread-create`
232
- - Participants: `addParticipant`, `removeParticipant`, `kick`, `leaveGroup`, `member-info`
233
- - Message lifecycle: `delete`, `unsend`
234
- - Pins: `pin`, `unpin`, `list-pins`
245
+ - Participants: `addParticipant`, `removeParticipant`, `kick`, `leaveGroup`, `member-info`, `invite-to-space`, `inviteToSpace`
246
+ - Message lifecycle: `delete`, `unsend`, `delete-attachment`, `deleteMessageAttachment`
247
+ - Message pins: `pin`, `unpin`, `list-pins`
235
248
  - Space permissions: `permissions`
236
249
 
237
250
  Inline reply-thread semantics:
238
251
 
252
+ - `read` supports latest reads plus `before`/`offsetId` for older history, `after` for newer history, and `messageId`/`anchorId` for around-window reads. In reply-thread turns it defaults to the current reply-thread chat when `to`/`chatId`/`threadId` is omitted.
253
+ - `get-messages`/`getMessages` fetches exact message ids from a target chat/user/reply thread and returns the same media-aware payloads as `read`/`search`.
254
+ - `download-file` downloads Inline message media or URL-preview images to a local temp path. Pass `mediaUrl`/`url` directly, or pass `messageId` with optional `mediaId`/`attachmentId`; inside an Inline turn it defaults to the current chat/thread and current message.
255
+ - `peer-bot-commands`/`bot-commands` reads Inline bot commands available in a target chat/user/reply thread. In reply-thread turns it can inspect inherited parent-chat bot commands.
256
+ - `channel-edit` can rename (`title`/`name`/`threadName`), update `emoji`, and change space-thread visibility with `isPublic` or `visibility: "public"|"private"`. Private visibility changes require `participant`/`participants`.
257
+ - `upload-file` is the native OpenClaw alias for `sendAttachment`; use `filePath`, `path`, `media`, `mediaUrl`, or `url` for the file/media source.
258
+ - Inline `buttons` rows support `callback_data` for callbacks and `copy_text`/`copyText` for client-side copy buttons. JSON `callback_data` can include `callbackToast` or `toast` for an immediate short acknowledgement when pressed.
239
259
  - `thread-reply` expects `threadId` to be the child reply-thread chat id, while `to` stays the parent chat id.
240
- - `thread-create` creates a real reply thread from a parent chat and optional `replyToId` anchor.
260
+ - If `threadId` is missing, `thread-reply` can use the current reply-thread context or a saved route from `thread-create` when called with the parent chat target plus `parentMessageId`.
261
+ - `thread-create` creates a top-level Inline thread when called without a parent target. Use `participant`/`participants` for a private thread, or `spaceId` with `isPublic: true` for a public space thread. If `spaceId` is present and no participants are supplied, Inline defaults `thread-create` to a public space thread.
262
+ - `thread-create` creates a real reply thread from a parent chat when `to`/`chatId`/`channelId` is supplied, or when an explicit `replyToId`/`messageId` anchor can be paired with the current channel context.
263
+ - `forward`/`forwardMessages` forwards one or more source `messageId`/`messageIds` to a destination `to`/`chatId`/`userId`. The source can be `from`/`source`/`fromChatId`/`fromUserId`; when omitted in an Inline conversation, it defaults to the current chat.
264
+ - `delete-attachment` removes a URL-preview attachment from a message authored by the current bot/user. Use `attachments[].id` from `read` or `search` as `attachmentId`.
265
+ - `pin`/`unpin` use `messageId` and default to the current Inline chat/thread when no target is passed; `list-pins` also defaults to the current chat/thread.
266
+ - `invite-to-space` invites one user per call into a space using `userId`/`user`/`participant`, `email`, or `phoneNumber`; pass `role: "admin"` for admin invites or omit it for a member invite.
241
267
  - In `replyThreadMode: "auto"`, explicit user requests such as "reply in a thread" create and answer in a child reply thread automatically; the `thread-create` and `thread-reply` message-tool actions remain available for manual tool use.
242
268
  - Automatic thread creation falls back to parent-chat delivery if the reply thread cannot be created.
243
269
  - Existing route state is reused only for the same parent-message anchor. New parent-chat messages get separate reply threads; messages already inside a reply thread stay in that thread and do not create nested threads.
@@ -257,6 +283,7 @@ channels:
257
283
  reactions: true
258
284
  read: true
259
285
  search: true
286
+ translate: true
260
287
  edit: true
261
288
  channels: true
262
289
  participants: true
@@ -274,15 +301,26 @@ The plugin also registers dedicated tools outside the `message` action surface.
274
301
  `inline_parent_context` fetches more parent-chat history for the current Inline reply-thread session when the automatic context window is not enough.
275
302
 
276
303
  - Defaults to the current reply thread when invoked from one
277
- - Optional inputs: `threadId`, `parentChatId`, `parentMessageId`, `beforeMessageId`, `limit`, `includeAnchor`, `accountId`
304
+ - Optional inputs: `threadId`, `parentChatId`, `parentMessageId`, `beforeMessageId`, `afterMessageId`, `messageId`/`aroundMessageId`, `mode`, `limit`, `beforeLimit`, `afterLimit`, `includeAnchor`, `accountId`
305
+ - Supports `latest`, `older`, `newer`, and `around` history windows; the reply-thread default is an `around` window anchored to the parent/root message
278
306
  - Returned messages are ordered oldest to newest and include media/entity summaries
279
307
 
280
308
  `inline_members` handles space-member discovery:
281
309
 
282
- - Required input: `spaceId`
310
+ - Optional input: `spaceId`/`space`; when omitted inside an Inline space chat or reply thread, the plugin infers the current space
283
311
  - Optional filters: `query`, `userId`, `limit`, `accountId`
284
312
  - Returned members include explicit DM targets like `user:123`
285
313
 
314
+ `inline_nudge` sends an Inline nudge to a chat or user target.
315
+
316
+ `inline_forward` forwards existing Inline message ids between chats or users.
317
+
318
+ `inline_bot_presence` updates the bot's on-screen body state in Inline without sending a chat message. Use `action: "get"` to inspect the current avatar/state for a chat or user target.
319
+
320
+ `inline_update_profile` updates the authenticated bot's Inline display name and/or profile photo. Use it only for explicit profile-setup requests.
321
+
322
+ `inline_bot_avatar` installs, replaces, or clears the bot's on-screen avatar. Set/install uses a local or remote `.zip` avatar package; clearing uses `action: "clear"` or `clear: true`. It is for avatar setup/removal, not mood or presence changes.
323
+
286
324
  The plugin also registers `inline_bot_commands` for Inline bot command management (v1):
287
325
 
288
326
  - `action: "get"` -> calls `getMyCommands`
@@ -296,6 +334,7 @@ Bot command sync:
296
334
  - Default commands include the same user-facing command set as bundled chat providers (for example: `/status`, `/model`, `/exec`, `/usage`, etc.).
297
335
  - Inline also registers `/threadreply` to manage this group's reply-thread mode from chat.
298
336
  - The plugin uses OpenClaw's command, skill command, and plugin command registries when available.
337
+ - If Inline rejects the full 100-command menu as `BOT_COMMANDS_TOO_MUCH`, startup sync retries with a smaller command set and logs how many entries were omitted.
299
338
  - Disable startup sync globally with `commands.native: false`, or per-channel with `channels.inline.commands.native: false`. Disabled startup sync clears existing Inline bot commands for the affected account.
300
339
  - Disable skill command inclusion with `commands.nativeSkills: false`, or per-channel with `channels.inline.commands.nativeSkills: false`.
301
340
 
@@ -14540,6 +14540,7 @@ var InlineActionsSchema = exports_external.object({
14540
14540
  reactions: exports_external.boolean().optional(),
14541
14541
  read: exports_external.boolean().optional(),
14542
14542
  search: exports_external.boolean().optional(),
14543
+ translate: exports_external.boolean().optional(),
14543
14544
  edit: exports_external.boolean().optional(),
14544
14545
  channels: exports_external.boolean().optional(),
14545
14546
  participants: exports_external.boolean().optional(),
@@ -14663,6 +14664,8 @@ var InlineAccountSchemaBase = exports_external.object({
14663
14664
  dmHistoryLimit: exports_external.number().int().min(0).optional(),
14664
14665
  parseMarkdown: exports_external.boolean().optional(),
14665
14666
  mediaMaxMb: exports_external.number().positive().optional(),
14667
+ debounceMs: exports_external.number().int().min(0).optional(),
14668
+ voiceTranscriptWaitMs: exports_external.number().int().min(0).max(60000).optional(),
14666
14669
  actions: InlineActionsSchema.optional(),
14667
14670
  reactionNotifications: InlineReactionNotificationsSchema.optional(),
14668
14671
  reactionAllowlist: exports_external.array(InlineAllowEntrySchema).optional(),
@@ -15023,5 +15026,5 @@ export {
15023
15026
  inspectInlineReadOnlyAccount
15024
15027
  };
15025
15028
 
15026
- //# debugId=686AF72F08E2E13764756E2164756E21
15029
+ //# debugId=40642E2CDF4CBDF164756E2164756E21
15027
15030
  //# sourceMappingURL=account-inspect-api.js.map