@inline-openclaw/inline 0.0.68 → 0.0.69
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
|
@@ -34,33 +34,49 @@ Reply-thread behavior:
|
|
|
34
34
|
|
|
35
35
|
## Install
|
|
36
36
|
|
|
37
|
-
The current Inline plugin
|
|
37
|
+
The current Inline plugin supports OpenClaw `2026.8.2` and newer, including
|
|
38
|
+
`2026.9.x`, with no upper version cap. It is built against `2026.9.4`. Install
|
|
38
39
|
the plugin version for your OpenClaw release line:
|
|
39
40
|
|
|
40
41
|
| OpenClaw line | Inline plugin | Exact install |
|
|
41
42
|
| --- | --- | --- |
|
|
42
|
-
| `2026.8.
|
|
43
|
+
| `2026.8.2` and newer | `0.0.69` | `openclaw plugins install npm:@inline-openclaw/inline@0.0.69 --force --accept-capabilities` |
|
|
43
44
|
| `2026.7.x` (`>=2026.7.1`) | `0.0.63` | `openclaw plugins install @inline-openclaw/inline@0.0.63 --force` |
|
|
44
45
|
| `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
46
|
|
|
46
|
-
|
|
47
|
-
|
|
47
|
+
The minimum supported host remains `2026.8.2`. Newer host versions are not
|
|
48
|
+
blocked by package metadata. OpenClaw 2026.9.3 and newer require Node 24.16+
|
|
49
|
+
on the 24.x line or Node 26.1+; Node 26 is recommended.
|
|
48
50
|
|
|
49
51
|
## Compatibility
|
|
50
52
|
|
|
51
53
|
| Plugin version | OpenClaw host | Inline realtime SDK | Status | Notes |
|
|
52
54
|
| --- | --- | --- | --- | --- |
|
|
53
|
-
| `0.0.
|
|
54
|
-
| `0.0.
|
|
55
|
-
| `0.0.
|
|
56
|
-
| `0.0.
|
|
57
|
-
| `0.0.
|
|
58
|
-
| `0.0.
|
|
55
|
+
| `0.0.69` | `>=2026.8.2` | `0.0.18` | Current | Supports September system change approvals and cancels pending replies during channel shutdown. |
|
|
56
|
+
| `0.0.68` | `2026.8.2` | `0.0.18` | Previous | Retries stalled sync autonomously and isolates unrelated chat handlers while retaining ordered acknowledgements. |
|
|
57
|
+
| `0.0.67` | `2026.8.2` | `0.0.17` | Previous | Keeps the manifest compatible with ClawHub's metadata transport without changing the channel schema. |
|
|
58
|
+
| `0.0.66` | `2026.8.2` | `0.0.17` | Previous | Bounds direct account probes so SDK cleanup completes before the host deadline. |
|
|
59
|
+
| `0.0.65` | `2026.8.2` | `0.0.17` | Previous | Makes chat-triggered updates noninteractive by explicitly accepting the trusted Inline capability surface. |
|
|
60
|
+
| `0.0.64` | `2026.8.2` | `0.0.17` | Previous | Supports the stable 2026.8 plugin SDK and preserves DM/group reply-thread routing. |
|
|
61
|
+
|
|
62
|
+
### Release 0.0.69
|
|
63
|
+
|
|
64
|
+
- Removes the host upper bound and supports September system change approvals while retaining August APIs.
|
|
65
|
+
- Cancels reply generation when the channel stops, suppresses late sends, and bounds shutdown waits.
|
|
66
|
+
- Retains realtime SDK `0.0.18`: finite-target catch-up fence release, autonomous recovery after timeouts, authoritative DM deletion buckets, and concurrent handlers with ordered acknowledgements.
|
|
67
|
+
- Tests the extracted package against released hosts and checks that the bundled SDK matches the validated build.
|
|
68
|
+
|
|
69
|
+
The CI host matrix runs on `2026.8.2`, `2026.9.1`, and npm `latest`.
|
|
70
|
+
To check an installed host locally after building the SDK:
|
|
71
|
+
|
|
72
|
+
```sh
|
|
73
|
+
bun run --cwd openclaw check:host /path/to/node_modules/openclaw
|
|
74
|
+
```
|
|
59
75
|
|
|
60
76
|
From npm:
|
|
61
77
|
|
|
62
78
|
```sh
|
|
63
|
-
openclaw plugins install
|
|
79
|
+
openclaw plugins install npm:@inline-openclaw/inline@0.0.69 --force --accept-capabilities
|
|
64
80
|
```
|
|
65
81
|
|
|
66
82
|
If the plugin is already installed, update in place:
|
|
@@ -69786,6 +69786,9 @@ var inlineMessageActions = {
|
|
|
69786
69786
|
};
|
|
69787
69787
|
var inlineSupportedActions = listAllActions();
|
|
69788
69788
|
|
|
69789
|
+
// src/inline/approval-contract.ts
|
|
69790
|
+
var INLINE_APPROVAL_EVENT_KINDS = ["exec", "plugin", "system-agent"];
|
|
69791
|
+
|
|
69789
69792
|
// src/inline/exec-approvals.ts
|
|
69790
69793
|
import { resolveApprovalApprovers } from "openclaw/plugin-sdk/approval-auth-runtime";
|
|
69791
69794
|
import {
|
|
@@ -69865,7 +69868,7 @@ function countInlineExecApprovalEligibleAccounts(params) {
|
|
|
69865
69868
|
}).length;
|
|
69866
69869
|
}
|
|
69867
69870
|
function isExecApprovalRequest(request) {
|
|
69868
|
-
return "command" in request.request;
|
|
69871
|
+
return request.approvalKind != null ? request.approvalKind === "exec" : ("command" in request.request) && !("proposalHash" in request.request);
|
|
69869
69872
|
}
|
|
69870
69873
|
function isTargetForwardingMode(mode) {
|
|
69871
69874
|
return mode === "targets" || mode === "both";
|
|
@@ -70151,6 +70154,21 @@ function buildInlineApprovalActions(view) {
|
|
|
70151
70154
|
return resolveInlineMessageActionsParam({ buttons }, { owner: "system" });
|
|
70152
70155
|
}
|
|
70153
70156
|
function buildPendingPayload(params) {
|
|
70157
|
+
if (String(params.approvalKind) === "system-agent") {
|
|
70158
|
+
const view = params.view;
|
|
70159
|
+
if (String(view.approvalKind) !== "system-agent" || !("operationSummary" in view) || typeof view.operationSummary !== "string") {
|
|
70160
|
+
throw new Error("system-agent approval request and view kinds do not match");
|
|
70161
|
+
}
|
|
70162
|
+
const text2 = sanitizeInlineOutgoingText([
|
|
70163
|
+
"\uD83D\uDD12 OpenClaw change requires approval",
|
|
70164
|
+
`Change: ${view.operationSummary}`,
|
|
70165
|
+
`Agent: ${"agentId" in view ? view.agentId ?? "unknown" : "unknown"}`,
|
|
70166
|
+
`Expires in: ${Math.max(0, Math.ceil((params.request.expiresAtMs - params.nowMs) / 1000))}s`
|
|
70167
|
+
].join(`
|
|
70168
|
+
`));
|
|
70169
|
+
const actions2 = buildInlineApprovalActions(view);
|
|
70170
|
+
return { text: text2, ...actions2 ? { actions: actions2 } : {} };
|
|
70171
|
+
}
|
|
70154
70172
|
const execView = params.view.approvalKind === "exec" ? params.view : null;
|
|
70155
70173
|
const payload = params.approvalKind === "plugin" ? buildPluginApprovalPendingReplyPayload({
|
|
70156
70174
|
request: params.request,
|
|
@@ -70179,7 +70197,7 @@ function buildPendingPayload(params) {
|
|
|
70179
70197
|
};
|
|
70180
70198
|
}
|
|
70181
70199
|
var inlineApprovalNativeRuntime = createChannelApprovalNativeRuntimeAdapter({
|
|
70182
|
-
eventKinds:
|
|
70200
|
+
eventKinds: INLINE_APPROVAL_EVENT_KINDS,
|
|
70183
70201
|
availability: {
|
|
70184
70202
|
isConfigured: (params) => {
|
|
70185
70203
|
const resolved = resolveHandlerContext(params);
|
|
@@ -70310,5 +70328,5 @@ export {
|
|
|
70310
70328
|
inlineApprovalNativeRuntime
|
|
70311
70329
|
};
|
|
70312
70330
|
|
|
70313
|
-
//# debugId=
|
|
70331
|
+
//# debugId=5E1234798083973564756E2164756E21
|
|
70314
70332
|
//# sourceMappingURL=approval-handler.runtime.js.map
|