liangzimixin 0.3.8 → 0.3.10

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/dist/index.cjs CHANGED
@@ -18409,7 +18409,8 @@ function createQuantumImDeliverFn(deps) {
18409
18409
  });
18410
18410
  log11.info("outbound:delivered", {
18411
18411
  chatId,
18412
- length: payload.text.length
18412
+ length: payload.text.length,
18413
+ textPreview: payload.text.slice(0, 200)
18413
18414
  });
18414
18415
  };
18415
18416
  return { deliver };
@@ -18480,7 +18481,8 @@ var InboundPipeline = class {
18480
18481
  log12.info("inbound:dispatching", {
18481
18482
  messageId: msg.messageId,
18482
18483
  chatId: msg.chatId,
18483
- sessionKey: msg.chatId
18484
+ sessionKey: msg.chatId,
18485
+ bodyPreview: String(payload.Body ?? "").slice(0, 200)
18484
18486
  });
18485
18487
  const { counts } = await core.channel.reply.dispatchReplyFromConfig({
18486
18488
  ctx,
@@ -18865,21 +18867,26 @@ var quantumImPlugin = {
18865
18867
  setTokenManagerGetter(() => instance.tokenManager);
18866
18868
  log13.info(`liangzimixin[${ctx.accountId}] started \u2713`);
18867
18869
  setTimeout(() => {
18868
- log13.info("\u{1F9EA} [DEBUG] Injecting simulated text message...");
18869
- const simulatedMsg = {
18870
- messageId: `SIM-${Date.now()}`,
18871
- chatId: "6251174531257914689",
18872
- // 模拟用户 ID 作为私聊会话 ID
18873
- senderId: "6251174531257914689",
18874
- // 模拟发送者
18875
- msgType: "text",
18876
- content: JSON.stringify({ content: "\u4F60\u597D\uFF0C\u8FD9\u662F\u4E00\u6761\u6D4B\u8BD5\u6D88\u606F" }),
18877
- timestamp: Date.now()
18870
+ log13.info("\u{1F9EA} [DEBUG] Injecting simulated WS frame...");
18871
+ const callbackData = {
18872
+ appId: config2.credentials.appId,
18873
+ loginId: "debug-sim-login",
18874
+ eventType: "callback:direct",
18875
+ userId: "6251174531257914689",
18876
+ groupId: "",
18877
+ toUserId: config2.credentials.botUserId ?? "",
18878
+ msgUid: `SIM-${Math.random().toString(36).slice(2, 6).toUpperCase()}-${Date.now()}`,
18879
+ type: "text",
18880
+ content: { content: "\u4F60\u597D\uFF0C\u8FD9\u662F\u4E00\u6761\u6D4B\u8BD5\u6D88\u606F" },
18881
+ extra: { objectName: "LZ:TextMsg" }
18882
+ };
18883
+ const frame = {
18884
+ data: JSON.stringify(callbackData)
18878
18885
  };
18879
- pipeline.handle(simulatedMsg).then(() => {
18880
- log13.info("\u{1F9EA} [DEBUG] Simulated message processed \u2713");
18886
+ instance.messagePipe.injectRawFrame(JSON.stringify(frame)).then(() => {
18887
+ log13.info("\u{1F9EA} [DEBUG] Simulated WS frame processed \u2713");
18881
18888
  }).catch((err) => {
18882
- log13.error("\u{1F9EA} [DEBUG] Simulated message failed", {
18889
+ log13.error("\u{1F9EA} [DEBUG] Simulated WS frame failed", {
18883
18890
  error: err.message,
18884
18891
  stack: err.stack
18885
18892
  });
@@ -19725,6 +19732,14 @@ var MessagePipe = class {
19725
19732
  this.messageCallback = callback;
19726
19733
  log21.info("Inbound message callback registered");
19727
19734
  }
19735
+ /**
19736
+ * 🧪 DEBUG — 注入模拟 WS 原始帧,走完完整的 7 步入站流水线。
19737
+ * 用于测试 MessagePipe 的验签→解密→解析→去重→回调全流程。
19738
+ * TODO: 验证通过后移除此方法
19739
+ */
19740
+ async injectRawFrame(rawData) {
19741
+ return this.handleInbound(rawData);
19742
+ }
19728
19743
  /**
19729
19744
  * 出站发送 — 通过 HTTP API 发送消息到 IM 服务器。
19730
19745
  * POST {messageServiceBaseUrl}/messages/v1/send
package/dist/index.d.cts CHANGED
@@ -690,6 +690,12 @@ declare class MessagePipe {
690
690
  });
691
691
  /** 注册入站消息回调 — 解密后的消息会通过此回调传给 L4 层 */
692
692
  onMessage(callback: (msg: InboundMessage) => void): void;
693
+ /**
694
+ * 🧪 DEBUG — 注入模拟 WS 原始帧,走完完整的 7 步入站流水线。
695
+ * 用于测试 MessagePipe 的验签→解密→解析→去重→回调全流程。
696
+ * TODO: 验证通过后移除此方法
697
+ */
698
+ injectRawFrame(rawData: string | Buffer): Promise<void>;
693
699
  /**
694
700
  * 出站发送 — 通过 HTTP API 发送消息到 IM 服务器。
695
701
  * POST {messageServiceBaseUrl}/messages/v1/send
@@ -18922,6 +18922,14 @@ var MessagePipe = class {
18922
18922
  this.messageCallback = callback;
18923
18923
  log12.info("Inbound message callback registered");
18924
18924
  }
18925
+ /**
18926
+ * 🧪 DEBUG — 注入模拟 WS 原始帧,走完完整的 7 步入站流水线。
18927
+ * 用于测试 MessagePipe 的验签→解密→解析→去重→回调全流程。
18928
+ * TODO: 验证通过后移除此方法
18929
+ */
18930
+ async injectRawFrame(rawData) {
18931
+ return this.handleInbound(rawData);
18932
+ }
18925
18933
  /**
18926
18934
  * 出站发送 — 通过 HTTP API 发送消息到 IM 服务器。
18927
18935
  * POST {messageServiceBaseUrl}/messages/v1/send
@@ -20034,7 +20042,8 @@ function createQuantumImDeliverFn(deps) {
20034
20042
  });
20035
20043
  log23.info("outbound:delivered", {
20036
20044
  chatId,
20037
- length: payload.text.length
20045
+ length: payload.text.length,
20046
+ textPreview: payload.text.slice(0, 200)
20038
20047
  });
20039
20048
  };
20040
20049
  return { deliver };
@@ -20093,7 +20102,8 @@ var InboundPipeline = class {
20093
20102
  log24.info("inbound:dispatching", {
20094
20103
  messageId: msg.messageId,
20095
20104
  chatId: msg.chatId,
20096
- sessionKey: msg.chatId
20105
+ sessionKey: msg.chatId,
20106
+ bodyPreview: String(payload.Body ?? "").slice(0, 200)
20097
20107
  });
20098
20108
  const { counts } = await core.channel.reply.dispatchReplyFromConfig({
20099
20109
  ctx,
@@ -20423,21 +20433,26 @@ var quantumImPlugin = {
20423
20433
  setTokenManagerGetter(() => instance.tokenManager);
20424
20434
  log25.info(`liangzimixin[${ctx.accountId}] started \u2713`);
20425
20435
  setTimeout(() => {
20426
- log25.info("\u{1F9EA} [DEBUG] Injecting simulated text message...");
20427
- const simulatedMsg = {
20428
- messageId: `SIM-${Date.now()}`,
20429
- chatId: "6251174531257914689",
20430
- // 模拟用户 ID 作为私聊会话 ID
20431
- senderId: "6251174531257914689",
20432
- // 模拟发送者
20433
- msgType: "text",
20434
- content: JSON.stringify({ content: "\u4F60\u597D\uFF0C\u8FD9\u662F\u4E00\u6761\u6D4B\u8BD5\u6D88\u606F" }),
20435
- timestamp: Date.now()
20436
+ log25.info("\u{1F9EA} [DEBUG] Injecting simulated WS frame...");
20437
+ const callbackData = {
20438
+ appId: config2.credentials.appId,
20439
+ loginId: "debug-sim-login",
20440
+ eventType: "callback:direct",
20441
+ userId: "6251174531257914689",
20442
+ groupId: "",
20443
+ toUserId: config2.credentials.botUserId ?? "",
20444
+ msgUid: `SIM-${Math.random().toString(36).slice(2, 6).toUpperCase()}-${Date.now()}`,
20445
+ type: "text",
20446
+ content: { content: "\u4F60\u597D\uFF0C\u8FD9\u662F\u4E00\u6761\u6D4B\u8BD5\u6D88\u606F" },
20447
+ extra: { objectName: "LZ:TextMsg" }
20448
+ };
20449
+ const frame = {
20450
+ data: JSON.stringify(callbackData)
20436
20451
  };
20437
- pipeline.handle(simulatedMsg).then(() => {
20438
- log25.info("\u{1F9EA} [DEBUG] Simulated message processed \u2713");
20452
+ instance.messagePipe.injectRawFrame(JSON.stringify(frame)).then(() => {
20453
+ log25.info("\u{1F9EA} [DEBUG] Simulated WS frame processed \u2713");
20439
20454
  }).catch((err) => {
20440
- log25.error("\u{1F9EA} [DEBUG] Simulated message failed", {
20455
+ log25.error("\u{1F9EA} [DEBUG] Simulated WS frame failed", {
20441
20456
  error: err.message,
20442
20457
  stack: err.stack
20443
20458
  });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "liangzimixin",
3
- "version": "0.3.8",
3
+ "version": "0.3.10",
4
4
  "description": "Quantum-encrypted IM channel plugin for OpenClaw",
5
5
  "type": "module",
6
6
  "main": "dist/index.cjs",