@cutie-crypto/connector-core 0.4.0 → 0.6.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.
- package/dist/connection.d.ts +56 -2
- package/dist/connection.js +192 -20
- package/dist/connection.js.map +1 -1
- package/dist/protocol.d.ts +31 -2
- package/dist/protocol.js +1 -1
- package/package.json +1 -1
package/dist/connection.d.ts
CHANGED
|
@@ -8,6 +8,7 @@
|
|
|
8
8
|
* - HTTP 调用方式(adapter.callAgent 决定)
|
|
9
9
|
* - 升级方式(adapter.selfUpgrade 决定)
|
|
10
10
|
*/
|
|
11
|
+
import type { MaintenanceCommand, MaintenanceStatus } from './protocol';
|
|
11
12
|
import type { CorePlatformAdapter } from './adapter';
|
|
12
13
|
export interface CoreConnectionConfig {
|
|
13
14
|
connector_id: string;
|
|
@@ -31,12 +32,31 @@ export interface ConnectorConnectionDeps {
|
|
|
31
32
|
connectorVersion: string;
|
|
32
33
|
/** 日志钩子,core 不假设 logger 实现 */
|
|
33
34
|
logger?: ConnectorConnectionLogger;
|
|
35
|
+
maintenanceExecutor?: CoreMaintenanceExecutor;
|
|
36
|
+
}
|
|
37
|
+
export interface MaintenanceReport {
|
|
38
|
+
status: MaintenanceStatus;
|
|
39
|
+
result?: Record<string, unknown>;
|
|
40
|
+
error_type?: string | null;
|
|
41
|
+
error_message?: string | null;
|
|
42
|
+
}
|
|
43
|
+
export type SendOutcome = 'sent' | 'buffered' | 'dropped';
|
|
44
|
+
export type MaintenanceAckOutcome = 'acked' | 'rejected' | 'timeout' | 'not_required' | 'not_sent';
|
|
45
|
+
export interface MaintenanceReportDelivery {
|
|
46
|
+
send: SendOutcome;
|
|
47
|
+
ack: Promise<MaintenanceAckOutcome>;
|
|
48
|
+
}
|
|
49
|
+
export interface CoreMaintenanceExecutor {
|
|
50
|
+
execute(command: MaintenanceCommand, report: (report: MaintenanceReport) => MaintenanceReportDelivery | Promise<MaintenanceReportDelivery>): Promise<Record<string, unknown> | void>;
|
|
34
51
|
}
|
|
35
52
|
export declare class ConnectorConnection {
|
|
36
53
|
private config;
|
|
37
54
|
private adapter;
|
|
38
55
|
private connectorVersion;
|
|
39
56
|
private log;
|
|
57
|
+
private maintenanceExecutor?;
|
|
58
|
+
private maintenanceStates;
|
|
59
|
+
private maintenanceAckWaiters;
|
|
40
60
|
private ws;
|
|
41
61
|
private heartbeatTimer;
|
|
42
62
|
private reconnectTimer;
|
|
@@ -45,30 +65,64 @@ export declare class ConnectorConnection {
|
|
|
45
65
|
private running;
|
|
46
66
|
private authFailCount;
|
|
47
67
|
private readonly maxAuthFails;
|
|
68
|
+
/**
|
|
69
|
+
* 5 次 auth fail 后进入"auth cooldown"自愈状态:
|
|
70
|
+
* - cleanup WS / heartbeat(不调 stop(),running 保持 true)
|
|
71
|
+
* - 启动 cooldown timer,到期后重置 authFailCount 重连
|
|
72
|
+
* - 每次进入 cooldown 都指数退避(×1.5 上限 1 天),避免 server 端凭据真失效时
|
|
73
|
+
* 烧 CPU/网络;当 server 端凭据修复后,下一次 cooldown 到期会自然恢复
|
|
74
|
+
* - 重连成功(WS 'open' 触发)后 cooldown delay reset 回初始值
|
|
75
|
+
*/
|
|
76
|
+
private authCooldownTimer;
|
|
77
|
+
private readonly initialAuthCooldownDelay;
|
|
78
|
+
private readonly maxAuthCooldownDelay;
|
|
79
|
+
private authCooldownDelay;
|
|
48
80
|
private lastError;
|
|
49
81
|
private upgrading;
|
|
50
82
|
private upgradeFailedAt;
|
|
51
83
|
/**
|
|
52
|
-
* 出站 buffer
|
|
84
|
+
* 出站 buffer:仅缓存不可重建的重要终态消息。
|
|
85
|
+
* - task.result:含 adapter 算出来的 answer,丢了用户永远拿不到结果。
|
|
86
|
+
* - maintenance.status:维护命令终态/进度,丢了 runbook 会误判修复失败。
|
|
53
87
|
* heartbeat / hello / task.ack 不缓存——丢了下次自然补上。
|
|
54
88
|
* 见 docs/issues/2026-05-07-task-result-loss.md(最小补丁阶段,完整方案待异步化)。
|
|
55
89
|
*/
|
|
56
90
|
private outboundBuffer;
|
|
57
91
|
private readonly outboundBufferMax;
|
|
58
92
|
private readonly outboundBufferTtlMs;
|
|
93
|
+
private readonly maintenanceAckTimeoutMs;
|
|
59
94
|
constructor(deps: ConnectorConnectionDeps);
|
|
60
95
|
start(): void;
|
|
61
96
|
stop(): void;
|
|
62
97
|
private cleanup;
|
|
63
98
|
private connect;
|
|
64
99
|
private scheduleReconnect;
|
|
100
|
+
/**
|
|
101
|
+
* 5 次连续 401/403 后进入 cooldown:cleanup 当前 WS / heartbeat / reconnect timer,
|
|
102
|
+
* 但 running 保持 true,启动 cooldown timer 到期后自动重连。
|
|
103
|
+
*
|
|
104
|
+
* 设计意图:当 server 端凭据漂移(如 migration backfill bug)时,KOL 端不需要任何
|
|
105
|
+
* 人工介入。Server 修复凭据后,下一次 cooldown 到期重连会成功,WS 'open' 会把
|
|
106
|
+
* authCooldownDelay reset 回初始 10 分钟。
|
|
107
|
+
*
|
|
108
|
+
* 如果凭据真失效(KOL 端被踢出 / token revoked),cooldown 会指数退避到 1 天,
|
|
109
|
+
* 不烧 CPU/网络,KOL 通过 cutie-connector status / 平台 UI 看到 connector 离线
|
|
110
|
+
* 后主动 `cutie-connector reset` + 重 pair。
|
|
111
|
+
*/
|
|
112
|
+
private enterAuthCooldown;
|
|
65
113
|
private handleMessage;
|
|
114
|
+
private handleMaintenanceCommand;
|
|
115
|
+
private sendMaintenanceStatus;
|
|
116
|
+
private createMaintenanceAckWaiter;
|
|
117
|
+
private handleMaintenanceStatusAck;
|
|
118
|
+
private resolveMaintenanceAck;
|
|
119
|
+
private maintenanceAckKey;
|
|
66
120
|
private handleTask;
|
|
67
121
|
private startHeartbeat;
|
|
68
122
|
private doHeartbeat;
|
|
69
123
|
private triggerSelfUpgrade;
|
|
70
124
|
private send;
|
|
71
|
-
private
|
|
125
|
+
private isImportantMessage;
|
|
72
126
|
private enqueueOutbound;
|
|
73
127
|
private flushOutboundBuffer;
|
|
74
128
|
}
|
package/dist/connection.js
CHANGED
|
@@ -26,6 +26,9 @@ class ConnectorConnection {
|
|
|
26
26
|
adapter;
|
|
27
27
|
connectorVersion;
|
|
28
28
|
log;
|
|
29
|
+
maintenanceExecutor;
|
|
30
|
+
maintenanceStates = new Map();
|
|
31
|
+
maintenanceAckWaiters = new Map();
|
|
29
32
|
ws = null;
|
|
30
33
|
heartbeatTimer = null;
|
|
31
34
|
reconnectTimer = null;
|
|
@@ -34,30 +37,55 @@ class ConnectorConnection {
|
|
|
34
37
|
running = false;
|
|
35
38
|
authFailCount = 0;
|
|
36
39
|
maxAuthFails = 5;
|
|
40
|
+
/**
|
|
41
|
+
* 5 次 auth fail 后进入"auth cooldown"自愈状态:
|
|
42
|
+
* - cleanup WS / heartbeat(不调 stop(),running 保持 true)
|
|
43
|
+
* - 启动 cooldown timer,到期后重置 authFailCount 重连
|
|
44
|
+
* - 每次进入 cooldown 都指数退避(×1.5 上限 1 天),避免 server 端凭据真失效时
|
|
45
|
+
* 烧 CPU/网络;当 server 端凭据修复后,下一次 cooldown 到期会自然恢复
|
|
46
|
+
* - 重连成功(WS 'open' 触发)后 cooldown delay reset 回初始值
|
|
47
|
+
*/
|
|
48
|
+
authCooldownTimer = null;
|
|
49
|
+
initialAuthCooldownDelay = 10 * 60 * 1000; // 10 min
|
|
50
|
+
maxAuthCooldownDelay = 24 * 60 * 60 * 1000; // 1 day cap
|
|
51
|
+
authCooldownDelay = this.initialAuthCooldownDelay;
|
|
37
52
|
lastError;
|
|
38
53
|
upgrading = false;
|
|
39
54
|
upgradeFailedAt = 0;
|
|
40
55
|
/**
|
|
41
|
-
* 出站 buffer
|
|
56
|
+
* 出站 buffer:仅缓存不可重建的重要终态消息。
|
|
57
|
+
* - task.result:含 adapter 算出来的 answer,丢了用户永远拿不到结果。
|
|
58
|
+
* - maintenance.status:维护命令终态/进度,丢了 runbook 会误判修复失败。
|
|
42
59
|
* heartbeat / hello / task.ack 不缓存——丢了下次自然补上。
|
|
43
60
|
* 见 docs/issues/2026-05-07-task-result-loss.md(最小补丁阶段,完整方案待异步化)。
|
|
44
61
|
*/
|
|
45
62
|
outboundBuffer = [];
|
|
46
63
|
outboundBufferMax = 50;
|
|
47
64
|
outboundBufferTtlMs = 5 * 60 * 1000;
|
|
65
|
+
maintenanceAckTimeoutMs = 10 * 1000;
|
|
48
66
|
constructor(deps) {
|
|
49
67
|
this.config = deps.config;
|
|
50
68
|
this.adapter = deps.adapter;
|
|
51
69
|
this.connectorVersion = deps.connectorVersion;
|
|
52
70
|
this.log = deps.logger ?? NOOP_LOGGER;
|
|
71
|
+
this.maintenanceExecutor = deps.maintenanceExecutor;
|
|
53
72
|
}
|
|
54
73
|
start() {
|
|
55
74
|
this.running = true;
|
|
75
|
+
// 防御性 reset:stop()→start() 周期里 authFailCount 可能停在 5、
|
|
76
|
+
// authCooldownDelay 可能停在退避后期值;下次 connect 第一个 error 就会立即
|
|
77
|
+
// 触发 cooldown 而非给一个完整 5-strikes 窗口。WS 'open' 也会 reset,但
|
|
78
|
+
// 在握手成功之前先把状态置干净更安全。
|
|
79
|
+
this.authFailCount = 0;
|
|
80
|
+
this.authCooldownDelay = this.initialAuthCooldownDelay;
|
|
56
81
|
this.connect();
|
|
57
82
|
}
|
|
58
83
|
stop() {
|
|
59
84
|
this.running = false;
|
|
60
85
|
this.cleanup();
|
|
86
|
+
for (const [key] of this.maintenanceAckWaiters) {
|
|
87
|
+
this.resolveMaintenanceAck(key, 'not_sent');
|
|
88
|
+
}
|
|
61
89
|
this.log.info('Connector stopped');
|
|
62
90
|
}
|
|
63
91
|
cleanup() {
|
|
@@ -69,6 +97,10 @@ class ConnectorConnection {
|
|
|
69
97
|
clearTimeout(this.reconnectTimer);
|
|
70
98
|
this.reconnectTimer = null;
|
|
71
99
|
}
|
|
100
|
+
if (this.authCooldownTimer) {
|
|
101
|
+
clearTimeout(this.authCooldownTimer);
|
|
102
|
+
this.authCooldownTimer = null;
|
|
103
|
+
}
|
|
72
104
|
if (this.ws) {
|
|
73
105
|
this.ws.removeAllListeners();
|
|
74
106
|
if (this.ws.readyState === ws_1.default.OPEN || this.ws.readyState === ws_1.default.CONNECTING) {
|
|
@@ -104,6 +136,7 @@ class ConnectorConnection {
|
|
|
104
136
|
this.log.info('WebSocket connected');
|
|
105
137
|
this.reconnectDelay = 3000;
|
|
106
138
|
this.authFailCount = 0;
|
|
139
|
+
this.authCooldownDelay = this.initialAuthCooldownDelay;
|
|
107
140
|
// Send hello, heartbeat starts after hello_ok
|
|
108
141
|
this.send({
|
|
109
142
|
type: 'hello',
|
|
@@ -130,9 +163,12 @@ class ConnectorConnection {
|
|
|
130
163
|
if (err.message.includes('403') || err.message.includes('401')) {
|
|
131
164
|
this.authFailCount++;
|
|
132
165
|
if (this.authFailCount >= this.maxAuthFails) {
|
|
133
|
-
|
|
134
|
-
this.log.error(
|
|
135
|
-
|
|
166
|
+
const cooldownMin = Math.round(this.authCooldownDelay / 60000);
|
|
167
|
+
this.log.error(`Authentication failed ${this.maxAuthFails} times consecutively. ` +
|
|
168
|
+
`Token may be invalid or server-side credential drifted.`);
|
|
169
|
+
this.log.error(`Pausing WS for ${cooldownMin} min before retry. If problem persists across ` +
|
|
170
|
+
`multiple cooldowns, run "cutie-connector reset" and re-pair with a new token.`);
|
|
171
|
+
this.enterAuthCooldown();
|
|
136
172
|
}
|
|
137
173
|
}
|
|
138
174
|
});
|
|
@@ -147,6 +183,34 @@ class ConnectorConnection {
|
|
|
147
183
|
}, this.reconnectDelay);
|
|
148
184
|
this.reconnectDelay = Math.min(this.reconnectDelay * 1.5, this.maxReconnectDelay);
|
|
149
185
|
}
|
|
186
|
+
/**
|
|
187
|
+
* 5 次连续 401/403 后进入 cooldown:cleanup 当前 WS / heartbeat / reconnect timer,
|
|
188
|
+
* 但 running 保持 true,启动 cooldown timer 到期后自动重连。
|
|
189
|
+
*
|
|
190
|
+
* 设计意图:当 server 端凭据漂移(如 migration backfill bug)时,KOL 端不需要任何
|
|
191
|
+
* 人工介入。Server 修复凭据后,下一次 cooldown 到期重连会成功,WS 'open' 会把
|
|
192
|
+
* authCooldownDelay reset 回初始 10 分钟。
|
|
193
|
+
*
|
|
194
|
+
* 如果凭据真失效(KOL 端被踢出 / token revoked),cooldown 会指数退避到 1 天,
|
|
195
|
+
* 不烧 CPU/网络,KOL 通过 cutie-connector status / 平台 UI 看到 connector 离线
|
|
196
|
+
* 后主动 `cutie-connector reset` + 重 pair。
|
|
197
|
+
*/
|
|
198
|
+
enterAuthCooldown() {
|
|
199
|
+
if (!this.running)
|
|
200
|
+
return;
|
|
201
|
+
this.cleanup();
|
|
202
|
+
const delay = this.authCooldownDelay;
|
|
203
|
+
this.authCooldownTimer = setTimeout(() => {
|
|
204
|
+
this.authCooldownTimer = null;
|
|
205
|
+
if (!this.running)
|
|
206
|
+
return;
|
|
207
|
+
this.log.info('Auth cooldown elapsed, retrying connection...');
|
|
208
|
+
this.authFailCount = 0; // 重置,给重连一个完整的 5-strikes 窗口
|
|
209
|
+
this.connect();
|
|
210
|
+
}, delay);
|
|
211
|
+
// 指数退避 ×1.5,上限 1 天
|
|
212
|
+
this.authCooldownDelay = Math.min(this.authCooldownDelay * 1.5, this.maxAuthCooldownDelay);
|
|
213
|
+
}
|
|
150
214
|
handleMessage(msg) {
|
|
151
215
|
switch (msg.type) {
|
|
152
216
|
case 'hello_ok':
|
|
@@ -166,10 +230,115 @@ class ConnectorConnection {
|
|
|
166
230
|
this.triggerSelfUpgrade(msg.target_version);
|
|
167
231
|
}
|
|
168
232
|
break;
|
|
233
|
+
case 'maintenance.command':
|
|
234
|
+
this.handleMaintenanceCommand(msg);
|
|
235
|
+
break;
|
|
236
|
+
case 'maintenance.status_ack':
|
|
237
|
+
this.handleMaintenanceStatusAck(msg);
|
|
238
|
+
break;
|
|
169
239
|
default:
|
|
170
240
|
this.log.warn('Unknown message type:', msg.type);
|
|
171
241
|
}
|
|
172
242
|
}
|
|
243
|
+
async handleMaintenanceCommand(command) {
|
|
244
|
+
const existing = this.maintenanceStates.get(command.command_id);
|
|
245
|
+
if (existing) {
|
|
246
|
+
this.sendMaintenanceStatus(command, existing);
|
|
247
|
+
return;
|
|
248
|
+
}
|
|
249
|
+
if (!this.maintenanceExecutor) {
|
|
250
|
+
this.sendMaintenanceStatus(command, {
|
|
251
|
+
status: 'failed',
|
|
252
|
+
error_type: 'UNSUPPORTED',
|
|
253
|
+
error_message: 'connector does not support remote maintenance',
|
|
254
|
+
});
|
|
255
|
+
return;
|
|
256
|
+
}
|
|
257
|
+
if (command.expires_at && command.expires_at <= Math.floor(Date.now() / 1000)) {
|
|
258
|
+
this.sendMaintenanceStatus(command, {
|
|
259
|
+
status: 'failed',
|
|
260
|
+
error_type: 'EXPIRED',
|
|
261
|
+
error_message: 'maintenance command expired before execution',
|
|
262
|
+
});
|
|
263
|
+
return;
|
|
264
|
+
}
|
|
265
|
+
const report = async (next) => {
|
|
266
|
+
const delivery = this.sendMaintenanceStatus(command, next);
|
|
267
|
+
if (delivery.send !== 'dropped') {
|
|
268
|
+
this.maintenanceStates.set(command.command_id, next);
|
|
269
|
+
}
|
|
270
|
+
return delivery;
|
|
271
|
+
};
|
|
272
|
+
try {
|
|
273
|
+
await report({ status: 'received' });
|
|
274
|
+
const result = await this.maintenanceExecutor.execute(command, report);
|
|
275
|
+
const latest = this.maintenanceStates.get(command.command_id);
|
|
276
|
+
if (latest?.status !== 'success' && latest?.status !== 'failed') {
|
|
277
|
+
await report({ status: 'success', result: result ?? {} });
|
|
278
|
+
}
|
|
279
|
+
}
|
|
280
|
+
catch (err) {
|
|
281
|
+
const message = err instanceof Error ? err.message : String(err);
|
|
282
|
+
await report({
|
|
283
|
+
status: 'failed',
|
|
284
|
+
error_type: 'MAINTENANCE_FAILED',
|
|
285
|
+
error_message: message,
|
|
286
|
+
});
|
|
287
|
+
this.log.error(`Maintenance command ${command.command_id} failed: ${message}`);
|
|
288
|
+
}
|
|
289
|
+
}
|
|
290
|
+
sendMaintenanceStatus(command, report) {
|
|
291
|
+
const message = {
|
|
292
|
+
type: 'maintenance.status',
|
|
293
|
+
command_id: command.command_id,
|
|
294
|
+
nonce: command.nonce,
|
|
295
|
+
status: report.status,
|
|
296
|
+
result: report.result,
|
|
297
|
+
error_type: report.error_type ?? null,
|
|
298
|
+
error_message: report.error_message ?? null,
|
|
299
|
+
};
|
|
300
|
+
const ackWaiter = this.createMaintenanceAckWaiter(command, report.status);
|
|
301
|
+
const send = this.send(message);
|
|
302
|
+
if (send === 'dropped') {
|
|
303
|
+
this.resolveMaintenanceAck(ackWaiter.key, 'not_sent');
|
|
304
|
+
}
|
|
305
|
+
return { send, ack: ackWaiter.ack };
|
|
306
|
+
}
|
|
307
|
+
createMaintenanceAckWaiter(command, status) {
|
|
308
|
+
const key = this.maintenanceAckKey(command.command_id, command.nonce, status);
|
|
309
|
+
if (status !== 'success' && status !== 'failed') {
|
|
310
|
+
return { key, ack: Promise.resolve('not_required') };
|
|
311
|
+
}
|
|
312
|
+
const previous = this.maintenanceAckWaiters.get(key);
|
|
313
|
+
if (previous) {
|
|
314
|
+
clearTimeout(previous.timer);
|
|
315
|
+
previous.resolve('timeout');
|
|
316
|
+
this.maintenanceAckWaiters.delete(key);
|
|
317
|
+
}
|
|
318
|
+
const ack = new Promise((resolve) => {
|
|
319
|
+
const timer = setTimeout(() => {
|
|
320
|
+
this.maintenanceAckWaiters.delete(key);
|
|
321
|
+
resolve('timeout');
|
|
322
|
+
}, this.maintenanceAckTimeoutMs);
|
|
323
|
+
this.maintenanceAckWaiters.set(key, { resolve, timer });
|
|
324
|
+
});
|
|
325
|
+
return { key, ack };
|
|
326
|
+
}
|
|
327
|
+
handleMaintenanceStatusAck(ack) {
|
|
328
|
+
const key = this.maintenanceAckKey(ack.command_id, ack.nonce, ack.status);
|
|
329
|
+
this.resolveMaintenanceAck(key, ack.accepted ? 'acked' : 'rejected');
|
|
330
|
+
}
|
|
331
|
+
resolveMaintenanceAck(key, outcome) {
|
|
332
|
+
const waiter = this.maintenanceAckWaiters.get(key);
|
|
333
|
+
if (!waiter)
|
|
334
|
+
return;
|
|
335
|
+
clearTimeout(waiter.timer);
|
|
336
|
+
this.maintenanceAckWaiters.delete(key);
|
|
337
|
+
waiter.resolve(outcome);
|
|
338
|
+
}
|
|
339
|
+
maintenanceAckKey(commandId, nonce, status) {
|
|
340
|
+
return `${commandId}:${nonce}:${status}`;
|
|
341
|
+
}
|
|
173
342
|
async handleTask(task) {
|
|
174
343
|
// W2.1:envelope 顶层 scene 与 payload.scene 同义;前者权威(server 主写),
|
|
175
344
|
// 后者向后兼容老链路。优先用顶层,缺失时回 payload.scene。
|
|
@@ -346,37 +515,39 @@ class ConnectorConnection {
|
|
|
346
515
|
if (this.ws?.readyState === ws_1.default.OPEN) {
|
|
347
516
|
try {
|
|
348
517
|
this.ws.send(JSON.stringify(data));
|
|
349
|
-
return;
|
|
518
|
+
return 'sent';
|
|
350
519
|
}
|
|
351
520
|
catch (err) {
|
|
352
521
|
// ws.send 同步抛错(如 readyState 漂移到 CLOSING,Node ws 同步 throw)。
|
|
353
522
|
// 必须自己兜住,否则:handleMessage(line 201) 不 await handleTask,
|
|
354
523
|
// 实时路径 send(success task.result) 抛错 → 外层 catch 当 RUNNER_FAILURE →
|
|
355
524
|
// 再 send(error task.result) 二次抛错 → unhandled async rejection,task
|
|
356
|
-
// silent loss。与 flushOutboundBuffer
|
|
525
|
+
// silent loss。与 flushOutboundBuffer 的兜底语义对齐:重要消息永远进
|
|
357
526
|
// buffer 等下次重连 flush,其它消息(heartbeat / hello / task.ack)丢弃,
|
|
358
527
|
// 下次心跳 / 重连自然补上。
|
|
359
528
|
const message = err instanceof Error ? err.message : String(err);
|
|
360
|
-
if (this.
|
|
361
|
-
this.log.warn(`ws.send threw, buffering
|
|
362
|
-
this.enqueueOutbound(data);
|
|
529
|
+
if (this.isImportantMessage(data)) {
|
|
530
|
+
this.log.warn(`ws.send threw, buffering important message (${message})`);
|
|
531
|
+
return this.enqueueOutbound(data);
|
|
363
532
|
}
|
|
364
533
|
else {
|
|
365
|
-
this.log.warn(`ws.send threw on non-
|
|
534
|
+
this.log.warn(`ws.send threw on non-important message, dropping (${message})`);
|
|
366
535
|
}
|
|
367
|
-
return;
|
|
536
|
+
return 'dropped';
|
|
368
537
|
}
|
|
369
538
|
}
|
|
370
|
-
// WS 不 OPEN:只 buffer
|
|
539
|
+
// WS 不 OPEN:只 buffer 不可重建的重要消息。
|
|
371
540
|
// 其它消息丢了下次重连自然补上。
|
|
372
|
-
if (this.
|
|
373
|
-
this.enqueueOutbound(data);
|
|
541
|
+
if (this.isImportantMessage(data)) {
|
|
542
|
+
return this.enqueueOutbound(data);
|
|
374
543
|
}
|
|
544
|
+
return 'dropped';
|
|
375
545
|
}
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
546
|
+
isImportantMessage(data) {
|
|
547
|
+
if (typeof data !== 'object' || data === null)
|
|
548
|
+
return false;
|
|
549
|
+
const type = data.type;
|
|
550
|
+
return type === 'task.result' || type === 'maintenance.status';
|
|
380
551
|
}
|
|
381
552
|
enqueueOutbound(data) {
|
|
382
553
|
if (this.outboundBuffer.length >= this.outboundBufferMax) {
|
|
@@ -384,10 +555,11 @@ class ConnectorConnection {
|
|
|
384
555
|
// × 60s timeout 的稳态;触发淘汰意味着长时间断线积压,旧 result server
|
|
385
556
|
// 那边大概率已 timeout,丢弃可接受。
|
|
386
557
|
const dropped = this.outboundBuffer.shift();
|
|
387
|
-
this.log.warn(`Outbound buffer full (${this.outboundBufferMax}), dropped oldest
|
|
558
|
+
this.log.warn(`Outbound buffer full (${this.outboundBufferMax}), dropped oldest important message (age=${dropped ? Date.now() - dropped.enqueuedAt : 0}ms)`);
|
|
388
559
|
}
|
|
389
560
|
this.outboundBuffer.push({ enqueuedAt: Date.now(), data });
|
|
390
|
-
this.log.warn(`WS not OPEN, buffered
|
|
561
|
+
this.log.warn(`WS not OPEN, buffered important message (queue=${this.outboundBuffer.length})`);
|
|
562
|
+
return 'buffered';
|
|
391
563
|
}
|
|
392
564
|
flushOutboundBuffer() {
|
|
393
565
|
if (this.outboundBuffer.length === 0)
|
package/dist/connection.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connection.js","sourceRoot":"","sources":["../src/connection.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"connection.js","sourceRoot":"","sources":["../src/connection.ts"],"names":[],"mappings":"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"}
|
package/dist/protocol.d.ts
CHANGED
|
@@ -25,7 +25,7 @@ export declare const PROTOCOL_VERSION = 1;
|
|
|
25
25
|
* `CORE_VERSION === pkg.version`,bump 时漏改即被单测拦截。BACKLOG(PR #4 后续):
|
|
26
26
|
* 等到 connector-core 真正公开发布时再考虑 dist 路径调整 / 改 build 脚本注入。
|
|
27
27
|
*/
|
|
28
|
-
export declare const CORE_VERSION = "0.
|
|
28
|
+
export declare const CORE_VERSION = "0.6.0";
|
|
29
29
|
export interface TaskPayload {
|
|
30
30
|
kol_user_id: string;
|
|
31
31
|
caller_user_id: string;
|
|
@@ -84,7 +84,27 @@ export interface HeartbeatAck {
|
|
|
84
84
|
target_version: string;
|
|
85
85
|
upgrade_required: boolean;
|
|
86
86
|
}
|
|
87
|
-
export type
|
|
87
|
+
export type MaintenanceCommandType = 'diagnose' | 'self_reinstall' | 'rollback' | 'restart' | 'reset_config';
|
|
88
|
+
export type MaintenanceStatus = 'received' | 'preflight_ok' | 'executing' | 'success' | 'failed';
|
|
89
|
+
export interface MaintenanceCommand {
|
|
90
|
+
type: 'maintenance.command';
|
|
91
|
+
command_id: string;
|
|
92
|
+
nonce: string;
|
|
93
|
+
command_type: MaintenanceCommandType;
|
|
94
|
+
requested_version?: string | null;
|
|
95
|
+
payload?: Record<string, unknown>;
|
|
96
|
+
expires_at: number;
|
|
97
|
+
}
|
|
98
|
+
export interface MaintenanceStatusAck {
|
|
99
|
+
type: 'maintenance.status_ack';
|
|
100
|
+
command_id: string;
|
|
101
|
+
nonce: string;
|
|
102
|
+
status: MaintenanceStatus;
|
|
103
|
+
accepted: boolean;
|
|
104
|
+
error_type?: string | null;
|
|
105
|
+
error_message?: string | null;
|
|
106
|
+
}
|
|
107
|
+
export type ServerMessage = TaskPush | HelloOk | HeartbeatAck | MaintenanceCommand | MaintenanceStatusAck;
|
|
88
108
|
export interface RegisterResult {
|
|
89
109
|
connector_id: string;
|
|
90
110
|
connector_token: string;
|
|
@@ -106,3 +126,12 @@ export interface TaskResultMessage {
|
|
|
106
126
|
/** 失败时填错误描述,成功时为 null */
|
|
107
127
|
error_message: string | null;
|
|
108
128
|
}
|
|
129
|
+
export interface MaintenanceStatusMessage {
|
|
130
|
+
type: 'maintenance.status';
|
|
131
|
+
command_id: string;
|
|
132
|
+
nonce: string;
|
|
133
|
+
status: MaintenanceStatus;
|
|
134
|
+
result?: Record<string, unknown>;
|
|
135
|
+
error_type?: string | null;
|
|
136
|
+
error_message?: string | null;
|
|
137
|
+
}
|
package/dist/protocol.js
CHANGED
|
@@ -28,5 +28,5 @@ exports.PROTOCOL_VERSION = 1;
|
|
|
28
28
|
* `CORE_VERSION === pkg.version`,bump 时漏改即被单测拦截。BACKLOG(PR #4 后续):
|
|
29
29
|
* 等到 connector-core 真正公开发布时再考虑 dist 路径调整 / 改 build 脚本注入。
|
|
30
30
|
*/
|
|
31
|
-
exports.CORE_VERSION = '0.
|
|
31
|
+
exports.CORE_VERSION = '0.6.0';
|
|
32
32
|
//# sourceMappingURL=protocol.js.map
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cutie-crypto/connector-core",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.6.0",
|
|
4
4
|
"description": "Cutie Connector core protocol types and shared abstractions (Node.js only — HTTP transport uses node:https/http)",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|