@lansenger-pm/openclaw-lansenger-channel 3.16.3 → 3.16.4

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/CHANGELOG.md CHANGED
@@ -4,6 +4,22 @@ All notable changes to this project will be documented in this file.
4
4
 
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/), and this project adheres to [Semantic Versioning](https://semver.org/).
6
6
 
7
+ ## [3.16.4] - 2026-06-23
8
+
9
+ ### Added
10
+
11
+ - **Native approval cards (`approveCard`)**: Full native approval handler implementation for non-whitelist exec commands. Interactive approval cards with "Approve Once" / "This Session" / "Deny" buttons, delivered through the OpenClaw framework's native approval route. Includes `buildPendingPayload`, `buildResolvedResult`, `buildExpiredResult`, `prepareTarget`, `deliverPending`, `updateEntry`, and `deleteEntry`.
12
+ - **Approval handler runtime context**: `registerChannelRuntimeContext(CHANNEL_APPROVAL_NATIVE_RUNTIME_CONTEXT_CAPABILITY)` is called during gateway startup so the OpenClaw framework recognizes the Lansenger native approval route (sets `nativeRouteActive=true`).
13
+ - **`lansenger_send_approve_card` tool**: New Agent tool for sending approveCard interactive messages. Registered in the `plugins` tool group via `openclaw.plugin.json` contracts.
14
+ - **`command-i18n.ts`**: Centralized i18n module for slash command responses (zh/en).
15
+ - **Card body content**: Approval cards now show the full session key, the command in a code block, and individual `/approve` commands in separate code blocks for easy copy.
16
+
17
+ ### Fixed
18
+
19
+ - **`updateCardStatus` protocol**: Changed from appCard protocol (`appCardUpdateMsg`, `headStatusInfo.description`) to approveCard protocol (`approveCardUpdateMsg`, `headStatus.describe`, `headStatus.colour`, `headStatus.statusIcon`).
20
+ - **Card status update buttons**: After approval resolution, all three action buttons are replaced with a single disabled button showing the resolved action ("已允许执行一次" / "已允许本会话有效" / "已拒绝执行").
21
+ - **Approver permission matching**: `resolveLansengerApprovers` now strips the `lansenger:` prefix from `ownerAllowFrom` entries before matching against `senderId`.
22
+
7
23
  ## [3.16.3] - 2026-06-22
8
24
 
9
25
  ### Fixed