palz-connector 1.6.9 → 1.7.0

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.
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "id": "palz-connector",
3
3
  "name": "Palz Connector Channel",
4
- "version": "1.6.9",
4
+ "version": "1.7.0",
5
5
  "description": "Palz IM 接入 OpenClaw",
6
6
  "channels": [
7
7
  "palz-connector"
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "palz-connector",
3
- "version": "1.6.9",
3
+ "version": "1.7.0",
4
4
  "type": "module",
5
5
  "main": "index.js",
6
6
  "description": "Palz IM 接入 OpenClaw — 模块化架构,基于 OpenClaw Runtime 消息管道",
package/src/channel.js CHANGED
@@ -72,11 +72,10 @@ export const palzPlugin = {
72
72
  gateway: {
73
73
  startAccount: async (ctx) => {
74
74
  const log = typeof ctx.runtime?.log === "function" ? ctx.runtime.log : console.log;
75
- const logInfo = typeof ctx.log?.info === "function" ? ctx.log.info.bind(ctx.log) : log;
76
75
  const error = typeof ctx.runtime?.error === "function" ? ctx.runtime.error : console.error;
77
- logInfo("palz-gateway: [startAccount] 输入: accountId=" + JSON.stringify(ctx.accountId));
76
+ log("palz-gateway: [startAccount] 输入: accountId=" + JSON.stringify(ctx.accountId));
78
77
  if (ctx.accountId !== PALZ_MANAGER_ACCOUNT_ID) {
79
- logInfo("palz-gateway: [startAccount] non-manager account " + JSON.stringify(ctx.accountId) + ", returning abort-pending promise");
78
+ log("palz-gateway: [startAccount] non-manager account " + JSON.stringify(ctx.accountId) + ", returning abort-pending promise");
80
79
  return new Promise((resolve) => {
81
80
  if (ctx.abortSignal?.aborted) {
82
81
  resolve();
@@ -88,15 +87,17 @@ export const palzPlugin = {
88
87
  const baseConfig = resolvePalzConfig(ctx.cfg);
89
88
  if (!baseConfig.streamUrl || !baseConfig.apiBaseUrl) {
90
89
  const errMsg = "Palz manager not configured (missing streamUrl/apiBaseUrl)";
91
- logInfo("palz-gateway: [startAccount] 失败: " + errMsg);
90
+ log("palz-gateway: [startAccount] 失败: " + errMsg);
92
91
  throw new Error(errMsg);
93
92
  }
94
- logInfo("palz-gateway: [startAccount] 启动 manager, streamUrl=" + baseConfig.streamUrl);
93
+ log("palz-gateway: [startAccount] 启动 manager, streamUrl=" + baseConfig.streamUrl);
95
94
  const manager = new ConnectionManager({
96
95
  cfg: ctx.cfg,
97
96
  baseConfig,
98
97
  runtime: ctx.runtime,
99
- log: logInfo,
98
+ // 用 runtime.log(写文件),而非仅 stdout 的 ctx.log.info,
99
+ // 使连接生命周期日志(reconcile/add/remove/shutdown)落入 palz-*.log。
100
+ log,
100
101
  error,
101
102
  });
102
103
  const scanner = startUserDirScanner({
@@ -105,7 +106,7 @@ export const palzPlugin = {
105
106
  error("palz-gateway: reconcile error: " + String(err));
106
107
  });
107
108
  },
108
- log: logInfo,
109
+ log,
109
110
  error,
110
111
  });
111
112
  // Stop service: disconnect all WS connections and prevent scanner-triggered reconnects.
@@ -115,7 +116,7 @@ export const palzPlugin = {
115
116
  if (stopped)
116
117
  return;
117
118
  stopped = true;
118
- logInfo("palz-gateway: [doStop] stopping service, shutting down scanner + manager");
119
+ log("palz-gateway: [doStop] stopping service, shutting down scanner + manager");
119
120
  scanner.stop();
120
121
  manager.shutdown();
121
122
  };
@@ -133,13 +134,15 @@ export const palzPlugin = {
133
134
  },
134
135
  cfg: ctx.cfg,
135
136
  runtime: ctx.runtime,
136
- log: logInfo,
137
+ // 用 runtime.log(写入 palz-*.log 文件),而非 ctx.log.info(仅 stdout),
138
+ // 使 control-server 的回调日志与消息链路日志落到同一文件,便于排查。
139
+ log,
137
140
  error,
138
141
  });
139
142
  }
140
143
  return new Promise((resolve) => {
141
144
  const onAbort = () => {
142
- logInfo("palz-gateway: [startAccount] abort received, shutting down manager");
145
+ log("palz-gateway: [startAccount] abort received, shutting down manager");
143
146
  controlServer?.close();
144
147
  doStop();
145
148
  resolve();