@inline-openclaw/inline 0.0.66 → 0.0.67

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
@@ -39,7 +39,7 @@ the plugin version for your OpenClaw release line:
39
39
 
40
40
  | OpenClaw line | Inline plugin | Exact install |
41
41
  | --- | --- | --- |
42
- | `2026.8.x` (`>=2026.8.2`) | `0.0.66` | `openclaw plugins install @inline-openclaw/inline --force --accept-capabilities` |
42
+ | `2026.8.x` (`>=2026.8.2`) | `0.0.67` | `openclaw plugins install @inline-openclaw/inline --force --accept-capabilities` |
43
43
  | `2026.7.x` (`>=2026.7.1`) | `0.0.63` | `openclaw plugins install @inline-openclaw/inline@0.0.63 --force` |
44
44
  | `2026.6.x` (`>=2026.6.11`, including extended-stable `2026.6.34`) | `0.0.63` | `openclaw plugins install @inline-openclaw/inline@0.0.63 --force` |
45
45
 
@@ -50,12 +50,12 @@ alias for older host APIs.
50
50
 
51
51
  | Plugin version | OpenClaw host | Inline realtime SDK | Status | Notes |
52
52
  | --- | --- | --- | --- | --- |
53
- | `0.0.66` | `>=2026.8.2 <2026.9.0` | `0.0.17` | Current | Bounds direct account probes so SDK cleanup completes before the host deadline. |
53
+ | `0.0.67` | `>=2026.8.2 <2026.9.0` | `0.0.17` | Current | Keeps the manifest compatible with ClawHub's metadata transport without changing the channel schema. |
54
+ | `0.0.66` | `>=2026.8.2 <2026.9.0` | `0.0.17` | Previous | Bounds direct account probes so SDK cleanup completes before the host deadline. |
54
55
  | `0.0.65` | `>=2026.8.2 <2026.9.0` | `0.0.17` | Previous | Makes chat-triggered updates noninteractive by explicitly accepting the trusted Inline capability surface. |
55
56
  | `0.0.64` | `>=2026.8.2 <2026.9.0` | `0.0.17` | Previous | Supports the stable 2026.8 plugin SDK and preserves DM/group reply-thread routing. |
56
57
  | `0.0.63` | `>=2026.6.11 || >=2026.7.1-0` | `0.0.16` | Previous | Applies live-safe settings writes without restarting the Inline channel before it can answer. |
57
58
  | `0.0.62` | `>=2026.6.11 || >=2026.7.1-0` | `0.0.16` | Previous | Keeps the thread-only Following control out of direct-message agent settings, where the server does not support it. |
58
- | `0.0.61` | `>=2026.6.11 || >=2026.7.1-0` | `0.0.16` | Previous | Bounds model discovery through provider authentication so agent settings return a fallback instead of hanging indefinitely. |
59
59
 
60
60
  From npm:
61
61
 
@@ -80,6 +80,14 @@ capability consent, strips credential variables from the updater process, and
80
80
  asks for `/restart` after OpenClaw reports a successful update. Other authorized
81
81
  chat members cannot update host plugins.
82
82
 
83
+ Installed skills are published to Inline for Skilled Agent selection on gateway
84
+ start and whenever OpenClaw emits `skill_changed`. Any authorized bot user can
85
+ run `/inline_sync` to force an immediate command-and-skill catalog republish,
86
+ then open or reopen Inline's Skilled Agent editor to load it. `/inline_version`
87
+ shows the loaded plugin/OpenClaw versions, safe install source and timestamps
88
+ when OpenClaw provides them, and the last in-process catalog-sync result. These
89
+ commands never print tokens, paths, package specs, or raw configuration.
90
+
83
91
  After updating, verify that `openclaw plugins list` shows `inline`, `openclaw channels status --channel inline --probe --json` reports Inline configured/running, and `openclaw plugins inspect inline --json` reports the expected package version.
84
92
 
85
93
  From a local checkout (dev):
@@ -363,12 +371,12 @@ The plugin also registers `inline_bot_commands` for Inline bot command managemen
363
371
 
364
372
  Bot command sync:
365
373
 
366
- - On `gateway_start`, the plugin registers default bot commands for each enabled/configured Inline account.
374
+ - On `gateway_start` and OpenClaw's `skill_changed` event, the plugin republishes bot commands and installed skills for each enabled/configured Inline account.
367
375
  - Default commands include the same user-facing command set as bundled chat providers (for example: `/status`, `/model`, `/exec`, `/usage`, etc.).
368
- - Inline also registers `/threadreply` to manage this group's reply-thread mode, `/follow` and `/unfollow` for explicit dialog relevance, and owner-only `/inline_update` for tracked plugin updates.
376
+ - Inline also registers `/threadreply` to manage this group's reply-thread mode, `/follow` and `/unfollow` for explicit dialog relevance, `/inline_sync` for a manual catalog refresh, `/inline_version` for safe runtime/install information, and owner-only `/inline_update` for tracked plugin updates.
369
377
  - Inline accepts `/command@botusername` when the suffix matches the active bot and ignores commands targeted at another bot, including in followed threads.
370
378
  - The plugin uses OpenClaw's command, skill command, and plugin command registries when available.
371
- - Inline-owned `/follow`, `/unfollow`, `/threadreply`, and `/inline_update` entries are preserved when a larger host command set is truncated to the Bot API's 100-command limit or retried after `BOT_COMMANDS_TOO_MUCH`; startup sync logs how many entries were omitted.
379
+ - Inline-owned `/follow`, `/unfollow`, `/threadreply`, `/inline_update`, `/inline_sync`, and `/inline_version` entries are preserved when a larger host command set is truncated to the Bot API's 100-command limit or retried after `BOT_COMMANDS_TOO_MUCH`; catalog sync logs how many entries were omitted.
372
380
  - 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.
373
381
  - Disable skill command inclusion with `commands.nativeSkills: false`, or per-channel with `channels.inline.commands.nativeSkills: false`.
374
382
 
@@ -33891,7 +33891,8 @@ class AgentProjectCatalog$Type extends import_runtime4.MessageType {
33891
33891
  constructor() {
33892
33892
  super("AgentProjectCatalog", [
33893
33893
  { no: 1, name: "options", kind: "message", repeat: 1, T: () => AgentProjectOption },
33894
- { no: 2, name: "can_select_folder", kind: "scalar", opt: true, T: 8 }
33894
+ { no: 2, name: "can_select_folder", kind: "scalar", opt: true, T: 8 },
33895
+ { no: 3, name: "default_project_id", kind: "scalar", opt: true, T: 9 }
33895
33896
  ]);
33896
33897
  }
33897
33898
  create(value) {
@@ -33912,6 +33913,9 @@ class AgentProjectCatalog$Type extends import_runtime4.MessageType {
33912
33913
  case 2:
33913
33914
  message.canSelectFolder = reader.bool();
33914
33915
  break;
33916
+ case 3:
33917
+ message.defaultProjectId = reader.string();
33918
+ break;
33915
33919
  default:
33916
33920
  let u = options.readUnknownField;
33917
33921
  if (u === "throw")
@@ -33928,6 +33932,8 @@ class AgentProjectCatalog$Type extends import_runtime4.MessageType {
33928
33932
  AgentProjectOption.internalBinaryWrite(message.options[i], writer.tag(1, import_runtime.WireType.LengthDelimited).fork(), options).join();
33929
33933
  if (message.canSelectFolder !== undefined)
33930
33934
  writer.tag(2, import_runtime.WireType.Varint).bool(message.canSelectFolder);
33935
+ if (message.defaultProjectId !== undefined)
33936
+ writer.tag(3, import_runtime.WireType.LengthDelimited).string(message.defaultProjectId);
33931
33937
  let u = options.writeUnknownFields;
33932
33938
  if (u !== false)
33933
33939
  (u == true ? import_runtime2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
@@ -34041,7 +34047,8 @@ class AgentModelOption$Type extends import_runtime4.MessageType {
34041
34047
  { no: 1, name: "id", kind: "scalar", T: 9 },
34042
34048
  { no: 2, name: "label", kind: "scalar", T: 9 },
34043
34049
  { no: 3, name: "description", kind: "scalar", opt: true, T: 9 },
34044
- { no: 4, name: "reasoning_effort_ids", kind: "scalar", repeat: 2, T: 9 }
34050
+ { no: 4, name: "reasoning_effort_ids", kind: "scalar", repeat: 2, T: 9 },
34051
+ { no: 5, name: "default_reasoning_effort_id", kind: "scalar", opt: true, T: 9 }
34045
34052
  ]);
34046
34053
  }
34047
34054
  create(value) {
@@ -34070,6 +34077,9 @@ class AgentModelOption$Type extends import_runtime4.MessageType {
34070
34077
  case 4:
34071
34078
  message.reasoningEffortIds.push(reader.string());
34072
34079
  break;
34080
+ case 5:
34081
+ message.defaultReasoningEffortId = reader.string();
34082
+ break;
34073
34083
  default:
34074
34084
  let u = options.readUnknownField;
34075
34085
  if (u === "throw")
@@ -34090,6 +34100,8 @@ class AgentModelOption$Type extends import_runtime4.MessageType {
34090
34100
  writer.tag(3, import_runtime.WireType.LengthDelimited).string(message.description);
34091
34101
  for (let i = 0;i < message.reasoningEffortIds.length; i++)
34092
34102
  writer.tag(4, import_runtime.WireType.LengthDelimited).string(message.reasoningEffortIds[i]);
34103
+ if (message.defaultReasoningEffortId !== undefined)
34104
+ writer.tag(5, import_runtime.WireType.LengthDelimited).string(message.defaultReasoningEffortId);
34093
34105
  let u = options.writeUnknownFields;
34094
34106
  if (u !== false)
34095
34107
  (u == true ? import_runtime2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
@@ -34101,7 +34113,8 @@ var AgentModelOption = new AgentModelOption$Type;
34101
34113
  class AgentModelCatalog$Type extends import_runtime4.MessageType {
34102
34114
  constructor() {
34103
34115
  super("AgentModelCatalog", [
34104
- { no: 1, name: "options", kind: "message", repeat: 1, T: () => AgentModelOption }
34116
+ { no: 1, name: "options", kind: "message", repeat: 1, T: () => AgentModelOption },
34117
+ { no: 2, name: "default_model_id", kind: "scalar", opt: true, T: 9 }
34105
34118
  ]);
34106
34119
  }
34107
34120
  create(value) {
@@ -34119,6 +34132,9 @@ class AgentModelCatalog$Type extends import_runtime4.MessageType {
34119
34132
  case 1:
34120
34133
  message.options.push(AgentModelOption.internalBinaryRead(reader, reader.uint32(), options));
34121
34134
  break;
34135
+ case 2:
34136
+ message.defaultModelId = reader.string();
34137
+ break;
34122
34138
  default:
34123
34139
  let u = options.readUnknownField;
34124
34140
  if (u === "throw")
@@ -34133,6 +34149,8 @@ class AgentModelCatalog$Type extends import_runtime4.MessageType {
34133
34149
  internalBinaryWrite(message, writer, options) {
34134
34150
  for (let i = 0;i < message.options.length; i++)
34135
34151
  AgentModelOption.internalBinaryWrite(message.options[i], writer.tag(1, import_runtime.WireType.LengthDelimited).fork(), options).join();
34152
+ if (message.defaultModelId !== undefined)
34153
+ writer.tag(2, import_runtime.WireType.LengthDelimited).string(message.defaultModelId);
34136
34154
  let u = options.writeUnknownFields;
34137
34155
  if (u !== false)
34138
34156
  (u == true ? import_runtime2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
@@ -69233,5 +69251,5 @@ export {
69233
69251
  inlineApprovalNativeRuntime
69234
69252
  };
69235
69253
 
69236
- //# debugId=74BD307ABE1FBD3564756E2164756E21
69254
+ //# debugId=1D806320E6C7C86164756E2164756E21
69237
69255
  //# sourceMappingURL=approval-handler.runtime.js.map