@cutie-crypto/connector-core 0.5.0 → 0.6.1

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/adapter.d.ts CHANGED
@@ -20,6 +20,8 @@
20
20
  * - OpenClaw / Hermes adapter 拿 timeout_ms 控本地 HTTP gateway 超时
21
21
  */
22
22
  export interface TaskInput {
23
+ /** server task.push 的 task_type;W3 backtest adapter 用它识别 strategy.backtest.run */
24
+ task_type: string;
23
25
  message: string;
24
26
  model: string;
25
27
  kol_user_id: string;
@@ -40,6 +42,8 @@ export interface TaskInput {
40
42
  target_profile?: string;
41
43
  agent_route?: string;
42
44
  scope?: string[];
45
+ /** server task.push 的原始 payload;W3 backtest adapter 从 raw_payload.backtest 读取结构化 envelope */
46
+ raw_payload?: Record<string, unknown>;
43
47
  }
44
48
  /**
45
49
  * adapter.callAgent 成功返回的结果。
@@ -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;
@@ -61,13 +81,16 @@ export declare class ConnectorConnection {
61
81
  private upgrading;
62
82
  private upgradeFailedAt;
63
83
  /**
64
- * 出站 buffer:仅缓存 task.result(不可重建:含 adapter 算出来的 answer)。
84
+ * 出站 buffer:仅缓存不可重建的重要终态消息。
85
+ * - task.result:含 adapter 算出来的 answer,丢了用户永远拿不到结果。
86
+ * - maintenance.status:维护命令终态/进度,丢了 runbook 会误判修复失败。
65
87
  * heartbeat / hello / task.ack 不缓存——丢了下次自然补上。
66
88
  * 见 docs/issues/2026-05-07-task-result-loss.md(最小补丁阶段,完整方案待异步化)。
67
89
  */
68
90
  private outboundBuffer;
69
91
  private readonly outboundBufferMax;
70
92
  private readonly outboundBufferTtlMs;
93
+ private readonly maintenanceAckTimeoutMs;
71
94
  constructor(deps: ConnectorConnectionDeps);
72
95
  start(): void;
73
96
  stop(): void;
@@ -88,12 +111,18 @@ export declare class ConnectorConnection {
88
111
  */
89
112
  private enterAuthCooldown;
90
113
  private handleMessage;
114
+ private handleMaintenanceCommand;
115
+ private sendMaintenanceStatus;
116
+ private createMaintenanceAckWaiter;
117
+ private handleMaintenanceStatusAck;
118
+ private resolveMaintenanceAck;
119
+ private maintenanceAckKey;
91
120
  private handleTask;
92
121
  private startHeartbeat;
93
122
  private doHeartbeat;
94
123
  private triggerSelfUpgrade;
95
124
  private send;
96
- private isTaskResult;
125
+ private isImportantMessage;
97
126
  private enqueueOutbound;
98
127
  private flushOutboundBuffer;
99
128
  }
@@ -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;
@@ -50,18 +53,22 @@ class ConnectorConnection {
50
53
  upgrading = false;
51
54
  upgradeFailedAt = 0;
52
55
  /**
53
- * 出站 buffer:仅缓存 task.result(不可重建:含 adapter 算出来的 answer)。
56
+ * 出站 buffer:仅缓存不可重建的重要终态消息。
57
+ * - task.result:含 adapter 算出来的 answer,丢了用户永远拿不到结果。
58
+ * - maintenance.status:维护命令终态/进度,丢了 runbook 会误判修复失败。
54
59
  * heartbeat / hello / task.ack 不缓存——丢了下次自然补上。
55
60
  * 见 docs/issues/2026-05-07-task-result-loss.md(最小补丁阶段,完整方案待异步化)。
56
61
  */
57
62
  outboundBuffer = [];
58
63
  outboundBufferMax = 50;
59
64
  outboundBufferTtlMs = 5 * 60 * 1000;
65
+ maintenanceAckTimeoutMs = 10 * 1000;
60
66
  constructor(deps) {
61
67
  this.config = deps.config;
62
68
  this.adapter = deps.adapter;
63
69
  this.connectorVersion = deps.connectorVersion;
64
70
  this.log = deps.logger ?? NOOP_LOGGER;
71
+ this.maintenanceExecutor = deps.maintenanceExecutor;
65
72
  }
66
73
  start() {
67
74
  this.running = true;
@@ -76,6 +83,9 @@ class ConnectorConnection {
76
83
  stop() {
77
84
  this.running = false;
78
85
  this.cleanup();
86
+ for (const [key] of this.maintenanceAckWaiters) {
87
+ this.resolveMaintenanceAck(key, 'not_sent');
88
+ }
79
89
  this.log.info('Connector stopped');
80
90
  }
81
91
  cleanup() {
@@ -220,10 +230,115 @@ class ConnectorConnection {
220
230
  this.triggerSelfUpgrade(msg.target_version);
221
231
  }
222
232
  break;
233
+ case 'maintenance.command':
234
+ this.handleMaintenanceCommand(msg);
235
+ break;
236
+ case 'maintenance.status_ack':
237
+ this.handleMaintenanceStatusAck(msg);
238
+ break;
223
239
  default:
224
240
  this.log.warn('Unknown message type:', msg.type);
225
241
  }
226
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
+ }
227
342
  async handleTask(task) {
228
343
  // W2.1:envelope 顶层 scene 与 payload.scene 同义;前者权威(server 主写),
229
344
  // 后者向后兼容老链路。优先用顶层,缺失时回 payload.scene。
@@ -268,7 +383,8 @@ class ConnectorConnection {
268
383
  return;
269
384
  }
270
385
  const input = {
271
- message: task.payload.message,
386
+ task_type: task.task_type,
387
+ message: typeof task.payload.message === 'string' ? task.payload.message : '',
272
388
  model: task.payload.agent_model,
273
389
  kol_user_id: task.payload.kol_user_id,
274
390
  caller_user_id: task.payload.caller_user_id,
@@ -280,6 +396,7 @@ class ConnectorConnection {
280
396
  target_profile: task.target_profile,
281
397
  agent_route: task.agent_route,
282
398
  scope: task.scope,
399
+ raw_payload: task.payload,
283
400
  };
284
401
  try {
285
402
  const result = await this.adapter.callAgent(input);
@@ -387,50 +504,54 @@ class ConnectorConnection {
387
504
  this.upgrading = true;
388
505
  this.log.info(`Auto-upgrading to v${targetVersion}...`);
389
506
  // adapter 决定怎么升级 + 是否 process.exit。core 不假设 systemd / PM2。
390
- // 成功路径下 adapter 通常 process.exit(0),所以这个 promise 不一定 resolve;
391
- // 失败路径下 adapter reject,core 重置 upgrading flag + 记录失败时间冷却 10min。
507
+ // npm-global 路径成功后 process.exit(0)promise 不会 resolve;
508
+ // zylos-lifecycle 路径成功后 promise resolve 但进程不退出——必须 .finally() 重置 flag,
509
+ // 否则 upgrading 永远 true,后续心跳的 upgrade_required 全被跳过。
392
510
  this.adapter.selfUpgrade(targetVersion).catch((err) => {
393
511
  const message = err instanceof Error ? err.message : String(err);
394
512
  this.log.error(`Auto-upgrade failed: ${message}`);
395
- this.upgrading = false;
396
513
  this.upgradeFailedAt = Date.now();
514
+ }).finally(() => {
515
+ this.upgrading = false;
397
516
  });
398
517
  }
399
518
  send(data) {
400
519
  if (this.ws?.readyState === ws_1.default.OPEN) {
401
520
  try {
402
521
  this.ws.send(JSON.stringify(data));
403
- return;
522
+ return 'sent';
404
523
  }
405
524
  catch (err) {
406
525
  // ws.send 同步抛错(如 readyState 漂移到 CLOSING,Node ws 同步 throw)。
407
526
  // 必须自己兜住,否则:handleMessage(line 201) 不 await handleTask,
408
527
  // 实时路径 send(success task.result) 抛错 → 外层 catch 当 RUNNER_FAILURE →
409
528
  // 再 send(error task.result) 二次抛错 → unhandled async rejection,task
410
- // silent loss。与 flushOutboundBuffer 的兜底语义对齐:task.result 永远进
529
+ // silent loss。与 flushOutboundBuffer 的兜底语义对齐:重要消息永远进
411
530
  // buffer 等下次重连 flush,其它消息(heartbeat / hello / task.ack)丢弃,
412
531
  // 下次心跳 / 重连自然补上。
413
532
  const message = err instanceof Error ? err.message : String(err);
414
- if (this.isTaskResult(data)) {
415
- this.log.warn(`ws.send threw, buffering task.result (${message})`);
416
- this.enqueueOutbound(data);
533
+ if (this.isImportantMessage(data)) {
534
+ this.log.warn(`ws.send threw, buffering important message (${message})`);
535
+ return this.enqueueOutbound(data);
417
536
  }
418
537
  else {
419
- this.log.warn(`ws.send threw on non-task.result message, dropping (${message})`);
538
+ this.log.warn(`ws.send threw on non-important message, dropping (${message})`);
420
539
  }
421
- return;
540
+ return 'dropped';
422
541
  }
423
542
  }
424
- // WS 不 OPEN:只 buffer task.result(含 adapter 算出的 answer,不可重建)。
543
+ // WS 不 OPEN:只 buffer 不可重建的重要消息。
425
544
  // 其它消息丢了下次重连自然补上。
426
- if (this.isTaskResult(data)) {
427
- this.enqueueOutbound(data);
545
+ if (this.isImportantMessage(data)) {
546
+ return this.enqueueOutbound(data);
428
547
  }
548
+ return 'dropped';
429
549
  }
430
- isTaskResult(data) {
431
- return (typeof data === 'object' &&
432
- data !== null &&
433
- data.type === 'task.result');
550
+ isImportantMessage(data) {
551
+ if (typeof data !== 'object' || data === null)
552
+ return false;
553
+ const type = data.type;
554
+ return type === 'task.result' || type === 'maintenance.status';
434
555
  }
435
556
  enqueueOutbound(data) {
436
557
  if (this.outboundBuffer.length >= this.outboundBufferMax) {
@@ -438,10 +559,11 @@ class ConnectorConnection {
438
559
  // × 60s timeout 的稳态;触发淘汰意味着长时间断线积压,旧 result server
439
560
  // 那边大概率已 timeout,丢弃可接受。
440
561
  const dropped = this.outboundBuffer.shift();
441
- this.log.warn(`Outbound buffer full (${this.outboundBufferMax}), dropped oldest task.result (age=${dropped ? Date.now() - dropped.enqueuedAt : 0}ms)`);
562
+ this.log.warn(`Outbound buffer full (${this.outboundBufferMax}), dropped oldest important message (age=${dropped ? Date.now() - dropped.enqueuedAt : 0}ms)`);
442
563
  }
443
564
  this.outboundBuffer.push({ enqueuedAt: Date.now(), data });
444
- this.log.warn(`WS not OPEN, buffered task.result (queue=${this.outboundBuffer.length})`);
565
+ this.log.warn(`WS not OPEN, buffered important message (queue=${this.outboundBuffer.length})`);
566
+ return 'buffered';
445
567
  }
446
568
  flushOutboundBuffer() {
447
569
  if (this.outboundBuffer.length === 0)
@@ -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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"}
@@ -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.5.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;
@@ -36,7 +36,12 @@ export interface TaskPayload {
36
36
  * 回退 (b) adapter 在 agent_route 不识别时 fallback。
37
37
  */
38
38
  agent_model: string;
39
- message: string;
39
+ message?: string;
40
+ /**
41
+ * W3 外部回测任务结构化 envelope。新 server 会把回测输入放在 payload.backtest,
42
+ * 不再强塞进自然语言 message;adapter 需要通过 TaskInput.raw_payload 消费。
43
+ */
44
+ backtest?: Record<string, unknown>;
40
45
  }
41
46
  /**
42
47
  * W2.1 task.push envelope 新增字段说明:
@@ -84,7 +89,27 @@ export interface HeartbeatAck {
84
89
  target_version: string;
85
90
  upgrade_required: boolean;
86
91
  }
87
- export type ServerMessage = TaskPush | HelloOk | HeartbeatAck;
92
+ export type MaintenanceCommandType = 'diagnose' | 'self_reinstall' | 'rollback' | 'restart' | 'reset_config';
93
+ export type MaintenanceStatus = 'received' | 'preflight_ok' | 'executing' | 'success' | 'failed';
94
+ export interface MaintenanceCommand {
95
+ type: 'maintenance.command';
96
+ command_id: string;
97
+ nonce: string;
98
+ command_type: MaintenanceCommandType;
99
+ requested_version?: string | null;
100
+ payload?: Record<string, unknown>;
101
+ expires_at: number;
102
+ }
103
+ export interface MaintenanceStatusAck {
104
+ type: 'maintenance.status_ack';
105
+ command_id: string;
106
+ nonce: string;
107
+ status: MaintenanceStatus;
108
+ accepted: boolean;
109
+ error_type?: string | null;
110
+ error_message?: string | null;
111
+ }
112
+ export type ServerMessage = TaskPush | HelloOk | HeartbeatAck | MaintenanceCommand | MaintenanceStatusAck;
88
113
  export interface RegisterResult {
89
114
  connector_id: string;
90
115
  connector_token: string;
@@ -106,3 +131,12 @@ export interface TaskResultMessage {
106
131
  /** 失败时填错误描述,成功时为 null */
107
132
  error_message: string | null;
108
133
  }
134
+ export interface MaintenanceStatusMessage {
135
+ type: 'maintenance.status';
136
+ command_id: string;
137
+ nonce: string;
138
+ status: MaintenanceStatus;
139
+ result?: Record<string, unknown>;
140
+ error_type?: string | null;
141
+ error_message?: string | null;
142
+ }
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.5.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.5.0",
3
+ "version": "0.6.1",
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",