openclaw-elys 1.4.6 → 1.4.8

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
@@ -8,13 +8,10 @@ Elys App 的 OpenClaw 频道插件 — 将本地 OpenClaw 智能体连接到 Ely
8
8
 
9
9
  ```bash
10
10
  # 1. Install the plugin / 安装插件
11
- openclaw plugins install openclaw-elys
11
+ openclaw plugins install openclaw-elys@latest
12
12
 
13
- # 2. Restart gateway (required after install) / 重启网关(安装后必须)
14
- openclaw gateway restart
15
-
16
- # 3. Register device / 注册设备
17
- npx openclaw-elys setup <gateway_url> <register_token>
13
+ # 2. Register device / 注册设备
14
+ npx openclaw-elys@latest setup <gateway_url> <register_token>
18
15
  ```
19
16
 
20
17
  Get a one-time register token from the Elys App. / 从 Elys App 获取一次性注册令牌。
@@ -26,7 +23,7 @@ setup 命令会自动配置 `~/.openclaw/openclaw.json` 中的 `channels.elys`
26
23
  ## Status / 查看状态
27
24
 
28
25
  ```bash
29
- npx openclaw-elys status
26
+ npx openclaw-elys@latest status
30
27
  ```
31
28
 
32
29
  ## Uninstall / 卸载
@@ -36,7 +33,7 @@ One command to revoke device, clean up config, and remove the plugin:
36
33
  一条命令撤销设备、清理配置并卸载插件:
37
34
 
38
35
  ```bash
39
- npx openclaw-elys uninstall
36
+ npx openclaw-elys@latest uninstall
40
37
  ```
41
38
 
42
39
  ## License
@@ -11,6 +11,7 @@ export declare class ElysDeviceMQTTClient {
11
11
  private log;
12
12
  private consecutiveFailures;
13
13
  private static readonly MAX_FAILURES_BEFORE_REVOKE_WARNING;
14
+ private commandQueue;
14
15
  constructor(credentials: DeviceCredentials, log?: (...args: unknown[]) => void);
15
16
  setCommandHandler(handler: CommandHandler): void;
16
17
  connect(abortSignal?: AbortSignal): Promise<void>;
@@ -10,6 +10,7 @@ export class ElysDeviceMQTTClient {
10
10
  log;
11
11
  consecutiveFailures = 0;
12
12
  static MAX_FAILURES_BEFORE_REVOKE_WARNING = 3;
13
+ commandQueue = Promise.resolve();
13
14
  constructor(credentials, log) {
14
15
  this.credentials = credentials;
15
16
  this.log = log ?? console.log;
@@ -42,7 +43,8 @@ export class ElysDeviceMQTTClient {
42
43
  });
43
44
  });
44
45
  this.client.on("message", (_topic, payload) => {
45
- this.handleMessage(payload).catch((err) => {
46
+ // Serial queue: commands are processed one at a time in arrival order
47
+ this.commandQueue = this.commandQueue.then(() => this.handleMessage(payload), () => this.handleMessage(payload)).catch((err) => {
46
48
  this.log("[elys] error handling message:", err);
47
49
  });
48
50
  });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "openclaw-elys",
3
- "version": "1.4.6",
3
+ "version": "1.4.8",
4
4
  "description": "OpenClaw Elys channel plugin — connects to Elys App",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",