@ynhcj/xiaoyi 2.1.2 → 2.1.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.
Files changed (2) hide show
  1. package/dist/websocket.js +23 -1
  2. package/package.json +1 -1
package/dist/websocket.js CHANGED
@@ -137,6 +137,13 @@ class XiaoYiWebSocketManager extends events_1.EventEmitter {
137
137
  taskId: requestId,
138
138
  msgDetail: JSON.stringify(jsonRpcResponse),
139
139
  };
140
+ console.log("\n[CLEAR] Sending clearContext response:");
141
+ console.log(` msgType: ${message.msgType}`);
142
+ console.log(` agentId: ${message.agentId}`);
143
+ console.log(` sessionId: ${message.sessionId}`);
144
+ console.log(` taskId: ${message.taskId}`);
145
+ console.log(` msgDetail: ${message.msgDetail}`);
146
+ console.log("");
140
147
  this.sendMessage(message);
141
148
  }
142
149
  /**
@@ -295,7 +302,22 @@ class XiaoYiWebSocketManager extends events_1.EventEmitter {
295
302
  console.warn(`Received message with mismatched agentId: ${message.agentId}, expected: ${this.config.agentId}. Discarding.`);
296
303
  return;
297
304
  }
298
- // Check if it's a clear message
305
+ // Handle JSON-RPC 2.0 clearContext method (直接响应,不走 OpenClaw)
306
+ // Reference: https://developer.huawei.com/consumer/cn/doc/service/clear-context-0000002537681163
307
+ if (message.method === "clearContext") {
308
+ console.log(`[CLEAR] Received clearContext for session: ${message.sessionId}`);
309
+ // 直接返回成功响应
310
+ this.sendClearContextResponse(message.id, message.sessionId, true).catch(error => {
311
+ console.error("Failed to send clearContext response:", error);
312
+ });
313
+ // 可选:通知应用清除会话上下文
314
+ this.emit("clear", {
315
+ sessionId: message.sessionId,
316
+ id: message.id,
317
+ });
318
+ return;
319
+ }
320
+ // Check if it's a clear message (兼容旧格式)
299
321
  if (message.action === "clear") {
300
322
  this.handleClearMessage(message);
301
323
  return;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ynhcj/xiaoyi",
3
- "version": "2.1.2",
3
+ "version": "2.1.4",
4
4
  "description": "XiaoYi channel plugin for OpenClaw",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",