@bundy-lmw/hive-server 1.0.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/LICENSE +21 -0
- package/README.md +211 -0
- package/dist/bootstrap.d.ts +36 -0
- package/dist/bootstrap.d.ts.map +1 -0
- package/dist/bootstrap.js +86 -0
- package/dist/bootstrap.js.map +1 -0
- package/dist/cli/index.d.ts +8 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/cli/index.js +125 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/config.d.ts +93 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +156 -0
- package/dist/config.js.map +1 -0
- package/dist/gateway/auth.d.ts +16 -0
- package/dist/gateway/auth.d.ts.map +1 -0
- package/dist/gateway/auth.js +50 -0
- package/dist/gateway/auth.js.map +1 -0
- package/dist/gateway/http.d.ts +9 -0
- package/dist/gateway/http.d.ts.map +1 -0
- package/dist/gateway/http.js +178 -0
- package/dist/gateway/http.js.map +1 -0
- package/dist/gateway/websocket.d.ts +18 -0
- package/dist/gateway/websocket.d.ts.map +1 -0
- package/dist/gateway/websocket.js +197 -0
- package/dist/gateway/websocket.js.map +1 -0
- package/dist/gateway/ws/admin-handler.d.ts +68 -0
- package/dist/gateway/ws/admin-handler.d.ts.map +1 -0
- package/dist/gateway/ws/admin-handler.js +573 -0
- package/dist/gateway/ws/admin-handler.js.map +1 -0
- package/dist/gateway/ws/data-types.d.ts +130 -0
- package/dist/gateway/ws/data-types.d.ts.map +1 -0
- package/dist/gateway/ws/data-types.js +7 -0
- package/dist/gateway/ws/data-types.js.map +1 -0
- package/dist/gateway/ws/log-buffer.d.ts +29 -0
- package/dist/gateway/ws/log-buffer.d.ts.map +1 -0
- package/dist/gateway/ws/log-buffer.js +58 -0
- package/dist/gateway/ws/log-buffer.js.map +1 -0
- package/dist/gateway/ws/types.d.ts +67 -0
- package/dist/gateway/ws/types.d.ts.map +1 -0
- package/dist/gateway/ws/types.js +68 -0
- package/dist/gateway/ws/types.js.map +1 -0
- package/dist/heartbeat-scheduler.d.ts +43 -0
- package/dist/heartbeat-scheduler.d.ts.map +1 -0
- package/dist/heartbeat-scheduler.js +118 -0
- package/dist/heartbeat-scheduler.js.map +1 -0
- package/dist/main.d.ts +23 -0
- package/dist/main.d.ts.map +1 -0
- package/dist/main.js +120 -0
- package/dist/main.js.map +1 -0
- package/dist/plugin-manager/cli.d.ts +6 -0
- package/dist/plugin-manager/cli.d.ts.map +1 -0
- package/dist/plugin-manager/cli.js +115 -0
- package/dist/plugin-manager/cli.js.map +1 -0
- package/dist/plugin-manager/constants.d.ts +24 -0
- package/dist/plugin-manager/constants.d.ts.map +1 -0
- package/dist/plugin-manager/constants.js +58 -0
- package/dist/plugin-manager/constants.js.map +1 -0
- package/dist/plugin-manager/index.d.ts +11 -0
- package/dist/plugin-manager/index.d.ts.map +1 -0
- package/dist/plugin-manager/index.js +10 -0
- package/dist/plugin-manager/index.js.map +1 -0
- package/dist/plugin-manager/installer.d.ts +19 -0
- package/dist/plugin-manager/installer.d.ts.map +1 -0
- package/dist/plugin-manager/installer.js +256 -0
- package/dist/plugin-manager/installer.js.map +1 -0
- package/dist/plugin-manager/manager.d.ts +39 -0
- package/dist/plugin-manager/manager.d.ts.map +1 -0
- package/dist/plugin-manager/manager.js +171 -0
- package/dist/plugin-manager/manager.js.map +1 -0
- package/dist/plugin-manager/registry.d.ts +31 -0
- package/dist/plugin-manager/registry.d.ts.map +1 -0
- package/dist/plugin-manager/registry.js +63 -0
- package/dist/plugin-manager/registry.js.map +1 -0
- package/dist/plugin-manager/searcher.d.ts +18 -0
- package/dist/plugin-manager/searcher.d.ts.map +1 -0
- package/dist/plugin-manager/searcher.js +50 -0
- package/dist/plugin-manager/searcher.js.map +1 -0
- package/dist/plugin-manager/types.d.ts +71 -0
- package/dist/plugin-manager/types.d.ts.map +1 -0
- package/dist/plugin-manager/types.js +5 -0
- package/dist/plugin-manager/types.js.map +1 -0
- package/dist/plugins.d.ts +18 -0
- package/dist/plugins.d.ts.map +1 -0
- package/dist/plugins.js +198 -0
- package/dist/plugins.js.map +1 -0
- package/package.json +54 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"admin-handler.js","sourceRoot":"","sources":["../../../src/gateway/ws/admin-handler.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* WebSocket 管理协议数据结构定义
|
|
3
|
+
*
|
|
4
|
+
* 定义所有 req/res 中使用的业务数据类型
|
|
5
|
+
*/
|
|
6
|
+
export interface ServerStatus {
|
|
7
|
+
server: {
|
|
8
|
+
state: 'starting' | 'running' | 'stopping';
|
|
9
|
+
port: number;
|
|
10
|
+
/** 运行时长(秒) */
|
|
11
|
+
uptime: number;
|
|
12
|
+
version: string;
|
|
13
|
+
};
|
|
14
|
+
agent: {
|
|
15
|
+
initialized: boolean;
|
|
16
|
+
providerReady: boolean;
|
|
17
|
+
currentProvider: string | null;
|
|
18
|
+
activePlugins: string[];
|
|
19
|
+
};
|
|
20
|
+
system: {
|
|
21
|
+
memory: {
|
|
22
|
+
rss: number;
|
|
23
|
+
heapUsed: number;
|
|
24
|
+
heapTotal: number;
|
|
25
|
+
};
|
|
26
|
+
nodeVersion: string;
|
|
27
|
+
platform: string;
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
export interface ServerConfig {
|
|
31
|
+
server: {
|
|
32
|
+
port: number;
|
|
33
|
+
host: string;
|
|
34
|
+
logLevel: 'debug' | 'info' | 'warn' | 'error';
|
|
35
|
+
};
|
|
36
|
+
auth: {
|
|
37
|
+
enabled: boolean;
|
|
38
|
+
apiKey: string;
|
|
39
|
+
};
|
|
40
|
+
provider: {
|
|
41
|
+
id: string;
|
|
42
|
+
apiKey: string;
|
|
43
|
+
model?: string;
|
|
44
|
+
};
|
|
45
|
+
heartbeat: {
|
|
46
|
+
enabled: boolean;
|
|
47
|
+
intervalMs: number;
|
|
48
|
+
model?: string;
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
export interface ConfigUpdateParams {
|
|
52
|
+
server?: Partial<ServerConfig['server']>;
|
|
53
|
+
auth?: Partial<ServerConfig['auth']>;
|
|
54
|
+
provider?: Partial<ServerConfig['provider']>;
|
|
55
|
+
heartbeat?: Partial<ServerConfig['heartbeat']>;
|
|
56
|
+
}
|
|
57
|
+
export interface ProviderPresetInfo {
|
|
58
|
+
id: string;
|
|
59
|
+
name: string;
|
|
60
|
+
type: 'openai' | 'anthropic' | 'google' | 'openai-compatible';
|
|
61
|
+
defaultModel?: string;
|
|
62
|
+
models?: ModelSummary[];
|
|
63
|
+
}
|
|
64
|
+
export interface ModelSummary {
|
|
65
|
+
id: string;
|
|
66
|
+
name: string;
|
|
67
|
+
contextWindow: number;
|
|
68
|
+
supportsVision?: boolean;
|
|
69
|
+
supportsTools?: boolean;
|
|
70
|
+
}
|
|
71
|
+
export interface PluginInfo {
|
|
72
|
+
id: string;
|
|
73
|
+
name: string;
|
|
74
|
+
version: string;
|
|
75
|
+
description?: string;
|
|
76
|
+
enabled: boolean;
|
|
77
|
+
channels?: string[];
|
|
78
|
+
config?: Record<string, unknown>;
|
|
79
|
+
}
|
|
80
|
+
export interface PluginInstallParams {
|
|
81
|
+
/** npm 包名 / Git URL / 本地路径 */
|
|
82
|
+
source: string;
|
|
83
|
+
}
|
|
84
|
+
export interface PluginUninstallParams {
|
|
85
|
+
id: string;
|
|
86
|
+
}
|
|
87
|
+
export interface PluginConfigUpdateParams {
|
|
88
|
+
id: string;
|
|
89
|
+
config: Record<string, unknown>;
|
|
90
|
+
}
|
|
91
|
+
export type LogLevel = 'debug' | 'info' | 'warn' | 'error';
|
|
92
|
+
export interface LogEntry {
|
|
93
|
+
id: string;
|
|
94
|
+
level: LogLevel;
|
|
95
|
+
/** 日志来源: 'server' | 'plugin:feishu' | 'agent' 等 */
|
|
96
|
+
source: string;
|
|
97
|
+
message: string;
|
|
98
|
+
timestamp: number;
|
|
99
|
+
}
|
|
100
|
+
export interface LogHistoryParams {
|
|
101
|
+
level?: LogLevel;
|
|
102
|
+
source?: string;
|
|
103
|
+
/** 关键词搜索 */
|
|
104
|
+
query?: string;
|
|
105
|
+
/** 最大返回条数 (默认 100, 最大 1000) */
|
|
106
|
+
limit?: number;
|
|
107
|
+
/** 分页偏移 */
|
|
108
|
+
offset?: number;
|
|
109
|
+
}
|
|
110
|
+
export interface SessionSummary {
|
|
111
|
+
id: string;
|
|
112
|
+
messageCount: number;
|
|
113
|
+
createdAt: number;
|
|
114
|
+
lastActiveAt: number;
|
|
115
|
+
}
|
|
116
|
+
export interface SessionDetail {
|
|
117
|
+
id: string;
|
|
118
|
+
messages: Array<{
|
|
119
|
+
role: 'user' | 'assistant' | 'system';
|
|
120
|
+
content: string;
|
|
121
|
+
timestamp: number;
|
|
122
|
+
}>;
|
|
123
|
+
}
|
|
124
|
+
export interface SessionGetParams {
|
|
125
|
+
id: string;
|
|
126
|
+
}
|
|
127
|
+
export interface SessionDeleteParams {
|
|
128
|
+
id: string;
|
|
129
|
+
}
|
|
130
|
+
//# sourceMappingURL=data-types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"data-types.d.ts","sourceRoot":"","sources":["../../../src/gateway/ws/data-types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"data-types.js","sourceRoot":"","sources":["../../../src/gateway/ws/data-types.ts"],"names":[],"mappings":"AAAA;;;;GAIG"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 环形日志缓冲区
|
|
3
|
+
*
|
|
4
|
+
* 固定大小的日志存储,超出容量自动淘汰旧日志
|
|
5
|
+
*/
|
|
6
|
+
import type { LogEntry, LogLevel } from './data-types.js';
|
|
7
|
+
export declare class LogBuffer {
|
|
8
|
+
private buffer;
|
|
9
|
+
private readonly maxSize;
|
|
10
|
+
private counter;
|
|
11
|
+
constructor(maxSize?: number);
|
|
12
|
+
/** 添加日志 */
|
|
13
|
+
add(level: LogLevel, source: string, message: string): LogEntry;
|
|
14
|
+
/** 查询历史日志 */
|
|
15
|
+
query(options?: {
|
|
16
|
+
level?: LogLevel;
|
|
17
|
+
source?: string;
|
|
18
|
+
query?: string;
|
|
19
|
+
limit?: number;
|
|
20
|
+
offset?: number;
|
|
21
|
+
}): LogEntry[];
|
|
22
|
+
/** 获取所有日志(用于调试) */
|
|
23
|
+
getAll(): LogEntry[];
|
|
24
|
+
/** 清空缓冲区 */
|
|
25
|
+
clear(): void;
|
|
26
|
+
/** 当前日志数量 */
|
|
27
|
+
get size(): number;
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=log-buffer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"log-buffer.d.ts","sourceRoot":"","sources":["../../../src/gateway/ws/log-buffer.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAA;AAEzD,qBAAa,SAAS;IACpB,OAAO,CAAC,MAAM,CAAiB;IAC/B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAQ;IAChC,OAAO,CAAC,OAAO,CAAI;gBAEP,OAAO,SAAS;IAI5B,WAAW;IACX,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,QAAQ;IAiB/D,aAAa;IACb,KAAK,CAAC,OAAO,CAAC,EAAE;QACd,KAAK,CAAC,EAAE,QAAQ,CAAA;QAChB,MAAM,CAAC,EAAE,MAAM,CAAA;QACf,KAAK,CAAC,EAAE,MAAM,CAAA;QACd,KAAK,CAAC,EAAE,MAAM,CAAA;QACd,MAAM,CAAC,EAAE,MAAM,CAAA;KAChB,GAAG,QAAQ,EAAE;IAoBd,mBAAmB;IACnB,MAAM,IAAI,QAAQ,EAAE;IAIpB,YAAY;IACZ,KAAK,IAAI,IAAI;IAIb,aAAa;IACb,IAAI,IAAI,IAAI,MAAM,CAEjB;CACF"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 环形日志缓冲区
|
|
3
|
+
*
|
|
4
|
+
* 固定大小的日志存储,超出容量自动淘汰旧日志
|
|
5
|
+
*/
|
|
6
|
+
export class LogBuffer {
|
|
7
|
+
buffer = [];
|
|
8
|
+
maxSize;
|
|
9
|
+
counter = 0;
|
|
10
|
+
constructor(maxSize = 10_000) {
|
|
11
|
+
this.maxSize = maxSize;
|
|
12
|
+
}
|
|
13
|
+
/** 添加日志 */
|
|
14
|
+
add(level, source, message) {
|
|
15
|
+
const entry = {
|
|
16
|
+
id: String(++this.counter),
|
|
17
|
+
level,
|
|
18
|
+
source,
|
|
19
|
+
message,
|
|
20
|
+
timestamp: Date.now(),
|
|
21
|
+
};
|
|
22
|
+
if (this.buffer.length >= this.maxSize) {
|
|
23
|
+
this.buffer.shift();
|
|
24
|
+
}
|
|
25
|
+
this.buffer.push(entry);
|
|
26
|
+
return entry;
|
|
27
|
+
}
|
|
28
|
+
/** 查询历史日志 */
|
|
29
|
+
query(options) {
|
|
30
|
+
let result = this.buffer;
|
|
31
|
+
if (options?.level) {
|
|
32
|
+
result = result.filter(e => e.level === options.level);
|
|
33
|
+
}
|
|
34
|
+
if (options?.source) {
|
|
35
|
+
result = result.filter(e => e.source === options.source);
|
|
36
|
+
}
|
|
37
|
+
if (options?.query) {
|
|
38
|
+
const q = options.query.toLowerCase();
|
|
39
|
+
result = result.filter(e => e.message.toLowerCase().includes(q));
|
|
40
|
+
}
|
|
41
|
+
const offset = options?.offset ?? 0;
|
|
42
|
+
const limit = Math.min(options?.limit ?? 100, 1000);
|
|
43
|
+
return result.slice(offset).slice(-limit);
|
|
44
|
+
}
|
|
45
|
+
/** 获取所有日志(用于调试) */
|
|
46
|
+
getAll() {
|
|
47
|
+
return [...this.buffer];
|
|
48
|
+
}
|
|
49
|
+
/** 清空缓冲区 */
|
|
50
|
+
clear() {
|
|
51
|
+
this.buffer = [];
|
|
52
|
+
}
|
|
53
|
+
/** 当前日志数量 */
|
|
54
|
+
get size() {
|
|
55
|
+
return this.buffer.length;
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
//# sourceMappingURL=log-buffer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"log-buffer.js","sourceRoot":"","sources":["../../../src/gateway/ws/log-buffer.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,MAAM,OAAO,SAAS;IACZ,MAAM,GAAe,EAAE,CAAA;IACd,OAAO,CAAQ;IACxB,OAAO,GAAG,CAAC,CAAA;IAEnB,YAAY,OAAO,GAAG,MAAM;QAC1B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;IACxB,CAAC;IAED,WAAW;IACX,GAAG,CAAC,KAAe,EAAE,MAAc,EAAE,OAAe;QAClD,MAAM,KAAK,GAAa;YACtB,EAAE,EAAE,MAAM,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC;YAC1B,KAAK;YACL,MAAM;YACN,OAAO;YACP,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;SACtB,CAAA;QAED,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACvC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAA;QACrB,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QACvB,OAAO,KAAK,CAAA;IACd,CAAC;IAED,aAAa;IACb,KAAK,CAAC,OAML;QACC,IAAI,MAAM,GAAG,IAAI,CAAC,MAAM,CAAA;QAExB,IAAI,OAAO,EAAE,KAAK,EAAE,CAAC;YACnB,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,OAAO,CAAC,KAAK,CAAC,CAAA;QACxD,CAAC;QACD,IAAI,OAAO,EAAE,MAAM,EAAE,CAAC;YACpB,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAA;QAC1D,CAAC;QACD,IAAI,OAAO,EAAE,KAAK,EAAE,CAAC;YACnB,MAAM,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,WAAW,EAAE,CAAA;YACrC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAA;QAClE,CAAC;QAED,MAAM,MAAM,GAAG,OAAO,EAAE,MAAM,IAAI,CAAC,CAAA;QACnC,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,IAAI,GAAG,EAAE,IAAI,CAAC,CAAA;QAEnD,OAAO,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAA;IAC3C,CAAC;IAED,mBAAmB;IACnB,MAAM;QACJ,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAA;IACzB,CAAC;IAED,YAAY;IACZ,KAAK;QACH,IAAI,CAAC,MAAM,GAAG,EAAE,CAAA;IAClB,CAAC;IAED,aAAa;IACb,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAA;IAC3B,CAAC;CACF"}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* WebSocket 管理协议类型定义
|
|
3
|
+
*
|
|
4
|
+
* 前后端通过 WS 双向通信,三种消息类型:
|
|
5
|
+
* - req: 前端 → 后端,请求操作
|
|
6
|
+
* - res: 后端 → 前端,请求结果
|
|
7
|
+
* - event: 后端 → 前端,主动推送
|
|
8
|
+
*/
|
|
9
|
+
export interface WsMessage {
|
|
10
|
+
/** 消息唯一 ID (UUID),用于 req/res 匹配 */
|
|
11
|
+
id: string;
|
|
12
|
+
/** 消息类型 */
|
|
13
|
+
type: 'req' | 'res' | 'event';
|
|
14
|
+
/** 毫秒时间戳 */
|
|
15
|
+
timestamp: number;
|
|
16
|
+
}
|
|
17
|
+
export interface WsRequest extends WsMessage {
|
|
18
|
+
type: 'req';
|
|
19
|
+
/** 操作方法名 */
|
|
20
|
+
method: string;
|
|
21
|
+
/** 请求参数 */
|
|
22
|
+
params?: unknown;
|
|
23
|
+
}
|
|
24
|
+
export interface WsSuccessResponse extends WsMessage {
|
|
25
|
+
type: 'res';
|
|
26
|
+
/** 匹配请求的 id */
|
|
27
|
+
id: string;
|
|
28
|
+
success: true;
|
|
29
|
+
/** 返回数据 */
|
|
30
|
+
result: unknown;
|
|
31
|
+
}
|
|
32
|
+
export interface WsErrorResponse extends WsMessage {
|
|
33
|
+
type: 'res';
|
|
34
|
+
/** 匹配请求的 id */
|
|
35
|
+
id: string;
|
|
36
|
+
success: false;
|
|
37
|
+
error: WsError;
|
|
38
|
+
}
|
|
39
|
+
export interface WsError {
|
|
40
|
+
/** 错误码 */
|
|
41
|
+
code: ErrorCode;
|
|
42
|
+
/** 人类可读的错误信息 */
|
|
43
|
+
message: string;
|
|
44
|
+
}
|
|
45
|
+
export type WsResponse = WsSuccessResponse | WsErrorResponse;
|
|
46
|
+
export type ErrorCode = 'NOT_FOUND' | 'VALIDATION' | 'INTERNAL' | 'TIMEOUT' | 'UNAUTHORIZED';
|
|
47
|
+
export interface WsEvent extends WsMessage {
|
|
48
|
+
type: 'event';
|
|
49
|
+
/** 事件名 */
|
|
50
|
+
event: string;
|
|
51
|
+
/** 事件数据 */
|
|
52
|
+
data: unknown;
|
|
53
|
+
}
|
|
54
|
+
/** 服务端可推送的事件名 */
|
|
55
|
+
export type ServerEventName = 'server.shutting_down' | 'log' | 'plugin.installed' | 'plugin.uninstalled' | 'config.changed';
|
|
56
|
+
export type AnyWsMessage = WsRequest | WsResponse | WsEvent;
|
|
57
|
+
/** 创建请求消息 */
|
|
58
|
+
export declare function createRequest(method: string, params?: unknown): WsRequest;
|
|
59
|
+
/** 创建成功响应 */
|
|
60
|
+
export declare function createSuccessResponse(requestId: string, result: unknown): WsSuccessResponse;
|
|
61
|
+
/** 创建错误响应 */
|
|
62
|
+
export declare function createErrorResponse(requestId: string, code: ErrorCode, message: string): WsErrorResponse;
|
|
63
|
+
/** 创建事件消息 */
|
|
64
|
+
export declare function createEvent(event: string, data: unknown): WsEvent;
|
|
65
|
+
/** 解析 WS 消息 */
|
|
66
|
+
export declare function parseWsMessage(raw: string): AnyWsMessage | null;
|
|
67
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/gateway/ws/types.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAMH,MAAM,WAAW,SAAS;IACxB,mCAAmC;IACnC,EAAE,EAAE,MAAM,CAAA;IACV,WAAW;IACX,IAAI,EAAE,KAAK,GAAG,KAAK,GAAG,OAAO,CAAA;IAC7B,YAAY;IACZ,SAAS,EAAE,MAAM,CAAA;CAClB;AAMD,MAAM,WAAW,SAAU,SAAQ,SAAS;IAC1C,IAAI,EAAE,KAAK,CAAA;IACX,YAAY;IACZ,MAAM,EAAE,MAAM,CAAA;IACd,WAAW;IACX,MAAM,CAAC,EAAE,OAAO,CAAA;CACjB;AAMD,MAAM,WAAW,iBAAkB,SAAQ,SAAS;IAClD,IAAI,EAAE,KAAK,CAAA;IACX,eAAe;IACf,EAAE,EAAE,MAAM,CAAA;IACV,OAAO,EAAE,IAAI,CAAA;IACb,WAAW;IACX,MAAM,EAAE,OAAO,CAAA;CAChB;AAED,MAAM,WAAW,eAAgB,SAAQ,SAAS;IAChD,IAAI,EAAE,KAAK,CAAA;IACX,eAAe;IACf,EAAE,EAAE,MAAM,CAAA;IACV,OAAO,EAAE,KAAK,CAAA;IACd,KAAK,EAAE,OAAO,CAAA;CACf;AAED,MAAM,WAAW,OAAO;IACtB,UAAU;IACV,IAAI,EAAE,SAAS,CAAA;IACf,gBAAgB;IAChB,OAAO,EAAE,MAAM,CAAA;CAChB;AAED,MAAM,MAAM,UAAU,GAAG,iBAAiB,GAAG,eAAe,CAAA;AAE5D,MAAM,MAAM,SAAS,GACjB,WAAW,GACX,YAAY,GACZ,UAAU,GACV,SAAS,GACT,cAAc,CAAA;AAMlB,MAAM,WAAW,OAAQ,SAAQ,SAAS;IACxC,IAAI,EAAE,OAAO,CAAA;IACb,UAAU;IACV,KAAK,EAAE,MAAM,CAAA;IACb,WAAW;IACX,IAAI,EAAE,OAAO,CAAA;CACd;AAED,iBAAiB;AACjB,MAAM,MAAM,eAAe,GACvB,sBAAsB,GACtB,KAAK,GACL,kBAAkB,GAClB,oBAAoB,GACpB,gBAAgB,CAAA;AAMpB,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,UAAU,GAAG,OAAO,CAAA;AAM3D,aAAa;AACb,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,GAAG,SAAS,CAQzE;AAED,aAAa;AACb,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,GAAG,iBAAiB,CAQ3F;AAED,aAAa;AACb,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,GAAG,eAAe,CAQxG;AAED,aAAa;AACb,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,OAAO,CAQjE;AAED,eAAe;AACf,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,YAAY,GAAG,IAAI,CAW/D"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* WebSocket 管理协议类型定义
|
|
3
|
+
*
|
|
4
|
+
* 前后端通过 WS 双向通信,三种消息类型:
|
|
5
|
+
* - req: 前端 → 后端,请求操作
|
|
6
|
+
* - res: 后端 → 前端,请求结果
|
|
7
|
+
* - event: 后端 → 前端,主动推送
|
|
8
|
+
*/
|
|
9
|
+
// ============================================
|
|
10
|
+
// 工具函数
|
|
11
|
+
// ============================================
|
|
12
|
+
/** 创建请求消息 */
|
|
13
|
+
export function createRequest(method, params) {
|
|
14
|
+
return {
|
|
15
|
+
id: crypto.randomUUID(),
|
|
16
|
+
type: 'req',
|
|
17
|
+
method,
|
|
18
|
+
params,
|
|
19
|
+
timestamp: Date.now(),
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
/** 创建成功响应 */
|
|
23
|
+
export function createSuccessResponse(requestId, result) {
|
|
24
|
+
return {
|
|
25
|
+
id: requestId,
|
|
26
|
+
type: 'res',
|
|
27
|
+
success: true,
|
|
28
|
+
result,
|
|
29
|
+
timestamp: Date.now(),
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
/** 创建错误响应 */
|
|
33
|
+
export function createErrorResponse(requestId, code, message) {
|
|
34
|
+
return {
|
|
35
|
+
id: requestId,
|
|
36
|
+
type: 'res',
|
|
37
|
+
success: false,
|
|
38
|
+
error: { code, message },
|
|
39
|
+
timestamp: Date.now(),
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
/** 创建事件消息 */
|
|
43
|
+
export function createEvent(event, data) {
|
|
44
|
+
return {
|
|
45
|
+
id: crypto.randomUUID(),
|
|
46
|
+
type: 'event',
|
|
47
|
+
event,
|
|
48
|
+
data,
|
|
49
|
+
timestamp: Date.now(),
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
/** 解析 WS 消息 */
|
|
53
|
+
export function parseWsMessage(raw) {
|
|
54
|
+
try {
|
|
55
|
+
const msg = JSON.parse(raw);
|
|
56
|
+
if (!msg || typeof msg !== 'object')
|
|
57
|
+
return null;
|
|
58
|
+
if (!msg.type || !msg.id)
|
|
59
|
+
return null;
|
|
60
|
+
if (!['req', 'res', 'event'].includes(msg.type))
|
|
61
|
+
return null;
|
|
62
|
+
return msg;
|
|
63
|
+
}
|
|
64
|
+
catch {
|
|
65
|
+
return null;
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/gateway/ws/types.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AA0FH,+CAA+C;AAC/C,OAAO;AACP,+CAA+C;AAE/C,aAAa;AACb,MAAM,UAAU,aAAa,CAAC,MAAc,EAAE,MAAgB;IAC5D,OAAO;QACL,EAAE,EAAE,MAAM,CAAC,UAAU,EAAE;QACvB,IAAI,EAAE,KAAK;QACX,MAAM;QACN,MAAM;QACN,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;KACtB,CAAA;AACH,CAAC;AAED,aAAa;AACb,MAAM,UAAU,qBAAqB,CAAC,SAAiB,EAAE,MAAe;IACtE,OAAO;QACL,EAAE,EAAE,SAAS;QACb,IAAI,EAAE,KAAK;QACX,OAAO,EAAE,IAAI;QACb,MAAM;QACN,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;KACtB,CAAA;AACH,CAAC;AAED,aAAa;AACb,MAAM,UAAU,mBAAmB,CAAC,SAAiB,EAAE,IAAe,EAAE,OAAe;IACrF,OAAO;QACL,EAAE,EAAE,SAAS;QACb,IAAI,EAAE,KAAK;QACX,OAAO,EAAE,KAAK;QACd,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE;QACxB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;KACtB,CAAA;AACH,CAAC;AAED,aAAa;AACb,MAAM,UAAU,WAAW,CAAC,KAAa,EAAE,IAAa;IACtD,OAAO;QACL,EAAE,EAAE,MAAM,CAAC,UAAU,EAAE;QACvB,IAAI,EAAE,OAAO;QACb,KAAK;QACL,IAAI;QACJ,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;KACtB,CAAA;AACH,CAAC;AAED,eAAe;AACf,MAAM,UAAU,cAAc,CAAC,GAAW;IACxC,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;QAC3B,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ;YAAE,OAAO,IAAI,CAAA;QAChD,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE;YAAE,OAAO,IAAI,CAAA;QACrC,IAAI,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC;YAAE,OAAO,IAAI,CAAA;QAC5D,OAAO,GAAmB,CAAA;IAC5B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAA;IACb,CAAC;AAEH,CAAC"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 心跳调度器
|
|
3
|
+
*
|
|
4
|
+
* 周期性调用 Agent.runHeartbeatOnce() 执行健康巡检,
|
|
5
|
+
* 通过 MessageBus 推送巡检结果。
|
|
6
|
+
*
|
|
7
|
+
* 使用 node-cron 实现 cron 持久化调度(间隔 >= 1 分钟时)。
|
|
8
|
+
* 间隔 < 1 分钟时 fallback 到 setInterval(cron 不支持秒级)。
|
|
9
|
+
*/
|
|
10
|
+
import type { Agent } from '@bundy-lmw/hive-core';
|
|
11
|
+
import type { MessageBus } from '@bundy-lmw/hive-core';
|
|
12
|
+
import type { HeartbeatConfig } from './config.js';
|
|
13
|
+
export interface HeartbeatSchedulerOptions {
|
|
14
|
+
agent: Agent;
|
|
15
|
+
config: HeartbeatConfig;
|
|
16
|
+
bus: MessageBus;
|
|
17
|
+
}
|
|
18
|
+
export declare class HeartbeatScheduler {
|
|
19
|
+
private agent;
|
|
20
|
+
private config;
|
|
21
|
+
private bus;
|
|
22
|
+
private task?;
|
|
23
|
+
private fallbackTimer?;
|
|
24
|
+
private running;
|
|
25
|
+
constructor(options: HeartbeatSchedulerOptions);
|
|
26
|
+
/**
|
|
27
|
+
* 启动心跳调度
|
|
28
|
+
*/
|
|
29
|
+
start(): void;
|
|
30
|
+
/**
|
|
31
|
+
* 停止心跳调度
|
|
32
|
+
*/
|
|
33
|
+
stop(): void;
|
|
34
|
+
/**
|
|
35
|
+
* 是否正在运行
|
|
36
|
+
*/
|
|
37
|
+
isRunning(): boolean;
|
|
38
|
+
/**
|
|
39
|
+
* 单次心跳巡检
|
|
40
|
+
*/
|
|
41
|
+
tick(): Promise<void>;
|
|
42
|
+
}
|
|
43
|
+
//# sourceMappingURL=heartbeat-scheduler.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"heartbeat-scheduler.d.ts","sourceRoot":"","sources":["../src/heartbeat-scheduler.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AACvC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AAC5C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAIlD,MAAM,WAAW,yBAAyB;IACxC,KAAK,EAAE,KAAK,CAAA;IACZ,MAAM,EAAE,eAAe,CAAA;IACvB,GAAG,EAAE,UAAU,CAAA;CAChB;AAED,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,KAAK,CAAO;IACpB,OAAO,CAAC,MAAM,CAAiB;IAC/B,OAAO,CAAC,GAAG,CAAY;IACvB,OAAO,CAAC,IAAI,CAAC,CAAe;IAC5B,OAAO,CAAC,aAAa,CAAC,CAAgC;IACtD,OAAO,CAAC,OAAO,CAAiB;gBAEpB,OAAO,EAAE,yBAAyB;IAM9C;;OAEG;IACH,KAAK,IAAI,IAAI;IAmCb;;OAEG;IACH,IAAI,IAAI,IAAI;IAaZ;;OAEG;IACH,SAAS,IAAI,OAAO;IAIpB;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;CAuC5B"}
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 心跳调度器
|
|
3
|
+
*
|
|
4
|
+
* 周期性调用 Agent.runHeartbeatOnce() 执行健康巡检,
|
|
5
|
+
* 通过 MessageBus 推送巡检结果。
|
|
6
|
+
*
|
|
7
|
+
* 使用 node-cron 实现 cron 持久化调度(间隔 >= 1 分钟时)。
|
|
8
|
+
* 间隔 < 1 分钟时 fallback 到 setInterval(cron 不支持秒级)。
|
|
9
|
+
*/
|
|
10
|
+
import { schedule as cronSchedule } from 'node-cron';
|
|
11
|
+
export class HeartbeatScheduler {
|
|
12
|
+
agent;
|
|
13
|
+
config;
|
|
14
|
+
bus;
|
|
15
|
+
task;
|
|
16
|
+
fallbackTimer;
|
|
17
|
+
running = false;
|
|
18
|
+
constructor(options) {
|
|
19
|
+
this.agent = options.agent;
|
|
20
|
+
this.config = options.config;
|
|
21
|
+
this.bus = options.bus;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* 启动心跳调度
|
|
25
|
+
*/
|
|
26
|
+
start() {
|
|
27
|
+
if (this.running) {
|
|
28
|
+
return;
|
|
29
|
+
}
|
|
30
|
+
this.running = true;
|
|
31
|
+
const intervalMs = this.config.intervalMs;
|
|
32
|
+
// 立即执行一次
|
|
33
|
+
this.tick().catch((err) => {
|
|
34
|
+
console.error('[heartbeat] Initial tick failed:', err);
|
|
35
|
+
});
|
|
36
|
+
if (intervalMs < 60000) {
|
|
37
|
+
// cron 不支持秒级,fallback 到 setInterval
|
|
38
|
+
this.fallbackTimer = setInterval(() => {
|
|
39
|
+
this.tick().catch((err) => {
|
|
40
|
+
console.error('[heartbeat] Tick failed:', err);
|
|
41
|
+
});
|
|
42
|
+
}, intervalMs);
|
|
43
|
+
console.log(`[heartbeat] Scheduler started with setInterval (interval: ${intervalMs}ms, < 1min)`);
|
|
44
|
+
}
|
|
45
|
+
else {
|
|
46
|
+
// 使用 cron 表达式
|
|
47
|
+
const minutes = Math.floor(intervalMs / 60000);
|
|
48
|
+
const cronExpr = `*/${minutes} * * * *`;
|
|
49
|
+
this.task = cronSchedule(cronExpr, () => {
|
|
50
|
+
this.tick().catch((err) => {
|
|
51
|
+
console.error('[heartbeat] Tick failed:', err);
|
|
52
|
+
});
|
|
53
|
+
});
|
|
54
|
+
this.task.start();
|
|
55
|
+
console.log(`[heartbeat] Scheduler started with cron (interval: ${intervalMs}ms, cron: ${cronExpr})`);
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* 停止心跳调度
|
|
60
|
+
*/
|
|
61
|
+
stop() {
|
|
62
|
+
if (this.task) {
|
|
63
|
+
this.task.stop();
|
|
64
|
+
this.task = undefined;
|
|
65
|
+
}
|
|
66
|
+
if (this.fallbackTimer) {
|
|
67
|
+
clearInterval(this.fallbackTimer);
|
|
68
|
+
this.fallbackTimer = undefined;
|
|
69
|
+
}
|
|
70
|
+
this.running = false;
|
|
71
|
+
console.log('[heartbeat] Scheduler stopped');
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* 是否正在运行
|
|
75
|
+
*/
|
|
76
|
+
isRunning() {
|
|
77
|
+
return this.running;
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* 单次心跳巡检
|
|
81
|
+
*/
|
|
82
|
+
async tick() {
|
|
83
|
+
const startTime = Date.now();
|
|
84
|
+
try {
|
|
85
|
+
const result = await this.agent.runHeartbeatOnce({
|
|
86
|
+
model: this.config.model,
|
|
87
|
+
prompt: this.config.prompt,
|
|
88
|
+
});
|
|
89
|
+
const duration = Date.now() - startTime;
|
|
90
|
+
this.bus.publish('heartbeat:tick', {
|
|
91
|
+
timestamp: new Date(),
|
|
92
|
+
isOk: result.isOk,
|
|
93
|
+
hasAlert: result.hasAlert,
|
|
94
|
+
content: result.content,
|
|
95
|
+
duration,
|
|
96
|
+
});
|
|
97
|
+
if (result.hasAlert) {
|
|
98
|
+
console.warn(`[heartbeat] Alert detected (${duration}ms): ${result.content.slice(0, 200)}`);
|
|
99
|
+
}
|
|
100
|
+
else {
|
|
101
|
+
console.log(`[heartbeat] OK (${duration}ms)`);
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
catch (error) {
|
|
105
|
+
const duration = Date.now() - startTime;
|
|
106
|
+
this.bus.publish('heartbeat:tick', {
|
|
107
|
+
timestamp: new Date(),
|
|
108
|
+
isOk: false,
|
|
109
|
+
hasAlert: true,
|
|
110
|
+
content: `Heartbeat check failed: ${error instanceof Error ? error.message : String(error)}`,
|
|
111
|
+
duration,
|
|
112
|
+
error: true,
|
|
113
|
+
});
|
|
114
|
+
console.error(`[heartbeat] Tick failed (${duration}ms):`, error);
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
//# sourceMappingURL=heartbeat-scheduler.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"heartbeat-scheduler.js","sourceRoot":"","sources":["../src/heartbeat-scheduler.ts"],"names":[],"mappings":"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"}
|
package/dist/main.d.ts
ADDED
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Hive Server Main Entry
|
|
3
|
+
*
|
|
4
|
+
* Unified entry point for both CLI and HTTP/WebSocket server.
|
|
5
|
+
*/
|
|
6
|
+
import { bootstrap, shutdown, type HiveContext } from './bootstrap.js';
|
|
7
|
+
export interface ServerOptions {
|
|
8
|
+
port?: number;
|
|
9
|
+
plugins?: string[];
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Start Hive server with all gateways
|
|
13
|
+
*/
|
|
14
|
+
export declare function startServer(options?: ServerOptions): Promise<{
|
|
15
|
+
context: HiveContext;
|
|
16
|
+
close: () => Promise<void>;
|
|
17
|
+
}>;
|
|
18
|
+
/**
|
|
19
|
+
* Run CLI mode
|
|
20
|
+
*/
|
|
21
|
+
export declare function runCli(args: string[]): Promise<void>;
|
|
22
|
+
export { bootstrap, shutdown, type HiveContext };
|
|
23
|
+
//# sourceMappingURL=main.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAEtE,MAAM,WAAW,aAAa;IAC5B,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;CACnB;AAED;;GAEG;AACH,wBAAsB,WAAW,CAAC,OAAO,GAAE,aAAkB,GAAG,OAAO,CAAC;IACtE,OAAO,EAAE,WAAW,CAAA;IACpB,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;CAC3B,CAAC,CAoGD;AAED;;GAEG;AACH,wBAAsB,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAK1D;AAaD,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,WAAW,EAAE,CAAA"}
|