@f2a/network 0.1.2 → 0.1.3

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.
Files changed (136) hide show
  1. package/package.json +8 -1
  2. package/.github/workflows/ci.yml +0 -113
  3. package/.github/workflows/publish.yml +0 -60
  4. package/MONOREPO.md +0 -58
  5. package/SKILL.md +0 -137
  6. package/dist/adapters/openclaw.d.ts +0 -103
  7. package/dist/adapters/openclaw.d.ts.map +0 -1
  8. package/dist/adapters/openclaw.js +0 -297
  9. package/dist/adapters/openclaw.js.map +0 -1
  10. package/dist/core/connection-manager.d.ts +0 -80
  11. package/dist/core/connection-manager.d.ts.map +0 -1
  12. package/dist/core/connection-manager.js +0 -235
  13. package/dist/core/connection-manager.js.map +0 -1
  14. package/dist/core/connection-manager.test.d.ts +0 -2
  15. package/dist/core/connection-manager.test.d.ts.map +0 -1
  16. package/dist/core/connection-manager.test.js +0 -52
  17. package/dist/core/connection-manager.test.js.map +0 -1
  18. package/dist/core/identity.d.ts +0 -47
  19. package/dist/core/identity.d.ts.map +0 -1
  20. package/dist/core/identity.js +0 -130
  21. package/dist/core/identity.js.map +0 -1
  22. package/dist/core/identity.test.d.ts +0 -2
  23. package/dist/core/identity.test.d.ts.map +0 -1
  24. package/dist/core/identity.test.js +0 -43
  25. package/dist/core/identity.test.js.map +0 -1
  26. package/dist/core/serverless.d.ts +0 -155
  27. package/dist/core/serverless.d.ts.map +0 -1
  28. package/dist/core/serverless.js +0 -615
  29. package/dist/core/serverless.js.map +0 -1
  30. package/dist/daemon/webhook.test.d.ts +0 -2
  31. package/dist/daemon/webhook.test.d.ts.map +0 -1
  32. package/dist/daemon/webhook.test.js +0 -24
  33. package/dist/daemon/webhook.test.js.map +0 -1
  34. package/dist/protocol/messages.d.ts +0 -739
  35. package/dist/protocol/messages.d.ts.map +0 -1
  36. package/dist/protocol/messages.js +0 -188
  37. package/dist/protocol/messages.js.map +0 -1
  38. package/dist/protocol/messages.test.d.ts +0 -2
  39. package/dist/protocol/messages.test.d.ts.map +0 -1
  40. package/dist/protocol/messages.test.js +0 -55
  41. package/dist/protocol/messages.test.js.map +0 -1
  42. package/docs/F2A-PROTOCOL.md +0 -61
  43. package/docs/MOBILE_BOOTSTRAP_DESIGN.md +0 -126
  44. package/docs/a2a-lessons.md +0 -316
  45. package/docs/middleware-guide.md +0 -448
  46. package/docs/readme-update-checklist.md +0 -90
  47. package/docs/reputation-guide.md +0 -396
  48. package/docs/rfcs/001-reputation-system.md +0 -712
  49. package/docs/security-design.md +0 -247
  50. package/install.sh +0 -231
  51. package/packages/openclaw-adapter/README.md +0 -510
  52. package/packages/openclaw-adapter/openclaw.plugin.json +0 -106
  53. package/packages/openclaw-adapter/package.json +0 -40
  54. package/packages/openclaw-adapter/src/announcement-queue.test.ts +0 -449
  55. package/packages/openclaw-adapter/src/announcement-queue.ts +0 -403
  56. package/packages/openclaw-adapter/src/capability-detector.test.ts +0 -99
  57. package/packages/openclaw-adapter/src/capability-detector.ts +0 -183
  58. package/packages/openclaw-adapter/src/claim-handlers.test.ts +0 -974
  59. package/packages/openclaw-adapter/src/claim-handlers.ts +0 -482
  60. package/packages/openclaw-adapter/src/connector.business.test.ts +0 -583
  61. package/packages/openclaw-adapter/src/connector.ts +0 -795
  62. package/packages/openclaw-adapter/src/index.test.ts +0 -82
  63. package/packages/openclaw-adapter/src/index.ts +0 -18
  64. package/packages/openclaw-adapter/src/integration.e2e.test.ts +0 -829
  65. package/packages/openclaw-adapter/src/logger.ts +0 -51
  66. package/packages/openclaw-adapter/src/network-client.test.ts +0 -266
  67. package/packages/openclaw-adapter/src/network-client.ts +0 -251
  68. package/packages/openclaw-adapter/src/network-recovery.test.ts +0 -465
  69. package/packages/openclaw-adapter/src/node-manager.test.ts +0 -136
  70. package/packages/openclaw-adapter/src/node-manager.ts +0 -429
  71. package/packages/openclaw-adapter/src/plugin.test.ts +0 -439
  72. package/packages/openclaw-adapter/src/plugin.ts +0 -104
  73. package/packages/openclaw-adapter/src/reputation.test.ts +0 -221
  74. package/packages/openclaw-adapter/src/reputation.ts +0 -368
  75. package/packages/openclaw-adapter/src/task-guard.test.ts +0 -502
  76. package/packages/openclaw-adapter/src/task-guard.ts +0 -860
  77. package/packages/openclaw-adapter/src/task-queue.concurrency.test.ts +0 -462
  78. package/packages/openclaw-adapter/src/task-queue.edge-cases.test.ts +0 -284
  79. package/packages/openclaw-adapter/src/task-queue.persistence.test.ts +0 -408
  80. package/packages/openclaw-adapter/src/task-queue.ts +0 -668
  81. package/packages/openclaw-adapter/src/tool-handlers.test.ts +0 -906
  82. package/packages/openclaw-adapter/src/tool-handlers.ts +0 -574
  83. package/packages/openclaw-adapter/src/types.ts +0 -361
  84. package/packages/openclaw-adapter/src/webhook-pusher.test.ts +0 -188
  85. package/packages/openclaw-adapter/src/webhook-pusher.ts +0 -220
  86. package/packages/openclaw-adapter/src/webhook-server.test.ts +0 -580
  87. package/packages/openclaw-adapter/src/webhook-server.ts +0 -202
  88. package/packages/openclaw-adapter/tsconfig.json +0 -20
  89. package/src/cli/commands.test.ts +0 -157
  90. package/src/cli/commands.ts +0 -129
  91. package/src/cli/index.test.ts +0 -77
  92. package/src/cli/index.ts +0 -234
  93. package/src/core/autonomous-economy.test.ts +0 -291
  94. package/src/core/autonomous-economy.ts +0 -428
  95. package/src/core/e2ee-crypto.test.ts +0 -125
  96. package/src/core/e2ee-crypto.ts +0 -246
  97. package/src/core/f2a.test.ts +0 -269
  98. package/src/core/f2a.ts +0 -618
  99. package/src/core/p2p-network.test.ts +0 -199
  100. package/src/core/p2p-network.ts +0 -1432
  101. package/src/core/reputation-security.test.ts +0 -403
  102. package/src/core/reputation-security.ts +0 -562
  103. package/src/core/reputation.test.ts +0 -260
  104. package/src/core/reputation.ts +0 -576
  105. package/src/core/review-committee.test.ts +0 -380
  106. package/src/core/review-committee.ts +0 -401
  107. package/src/core/token-manager.test.ts +0 -133
  108. package/src/core/token-manager.ts +0 -140
  109. package/src/daemon/control-server.test.ts +0 -216
  110. package/src/daemon/control-server.ts +0 -292
  111. package/src/daemon/index.test.ts +0 -85
  112. package/src/daemon/index.ts +0 -89
  113. package/src/daemon/main.ts +0 -44
  114. package/src/daemon/start.ts +0 -29
  115. package/src/daemon/webhook.test.ts +0 -68
  116. package/src/daemon/webhook.ts +0 -105
  117. package/src/index.test.ts +0 -436
  118. package/src/index.ts +0 -72
  119. package/src/types/index.test.ts +0 -87
  120. package/src/types/index.ts +0 -341
  121. package/src/types/result.ts +0 -68
  122. package/src/utils/benchmark.ts +0 -237
  123. package/src/utils/logger.ts +0 -331
  124. package/src/utils/middleware.ts +0 -229
  125. package/src/utils/rate-limiter.ts +0 -207
  126. package/src/utils/signature.ts +0 -136
  127. package/src/utils/validation.ts +0 -186
  128. package/tests/docker/Dockerfile.node +0 -23
  129. package/tests/docker/Dockerfile.runner +0 -18
  130. package/tests/docker/docker-compose.test.yml +0 -73
  131. package/tests/integration/message-passing.test.ts +0 -109
  132. package/tests/integration/multi-node.test.ts +0 -92
  133. package/tests/integration/p2p-connection.test.ts +0 -83
  134. package/tests/integration/test-config.ts +0 -32
  135. package/tsconfig.json +0 -21
  136. package/vitest.config.ts +0 -26
@@ -1,297 +0,0 @@
1
- "use strict";
2
- /**
3
- * OpenClaw F2A 适配器
4
- * 将 F2A P2P 网络集成到 OpenClaw
5
- *
6
- * 使用方式:
7
- * ```typescript
8
- * const adapter = await OpenClawF2AAdapter.create(openclawSession);
9
- * await adapter.start();
10
- *
11
- * // 委托任务给网络
12
- * const result = await adapter.delegateTask({
13
- * capability: 'code-generation',
14
- * description: 'Generate a Python function to calculate fibonacci'
15
- * });
16
- * ```
17
- */
18
- Object.defineProperty(exports, "__esModule", { value: true });
19
- exports.OpenClawF2AAdapter = void 0;
20
- const index_1 = require("../index");
21
- class OpenClawF2AAdapter {
22
- f2a;
23
- openclaw;
24
- options;
25
- running = false;
26
- constructor(f2a, openclaw, options) {
27
- this.f2a = f2a;
28
- this.openclaw = openclaw;
29
- this.options = options;
30
- }
31
- /**
32
- * 创建适配器实例
33
- */
34
- static async create(openclaw, options = {}) {
35
- const mergedOptions = {
36
- displayName: options.displayName || 'OpenClaw Agent',
37
- listenPort: options.listenPort || 0,
38
- bootstrapPeers: options.bootstrapPeers || [],
39
- enableMDNS: options.enableMDNS !== false,
40
- capabilityHandlers: options.capabilityHandlers || {}
41
- };
42
- // 创建 F2A 实例
43
- const f2aOptions = {
44
- displayName: mergedOptions.displayName,
45
- agentType: 'openclaw',
46
- network: {
47
- listenPort: mergedOptions.listenPort,
48
- enableMDNS: mergedOptions.enableMDNS,
49
- bootstrapPeers: mergedOptions.bootstrapPeers
50
- }
51
- };
52
- const f2a = await index_1.F2A.create(f2aOptions);
53
- // 注册默认能力
54
- await this.registerDefaultCapabilities(f2a, openclaw, mergedOptions.capabilityHandlers);
55
- return new OpenClawF2AAdapter(f2a, openclaw, mergedOptions);
56
- }
57
- /**
58
- * 注册默认能力
59
- */
60
- static async registerDefaultCapabilities(f2a, openclaw, customHandlers) {
61
- // 获取 OpenClaw 可用工具作为能力
62
- const capabilities = await this.detectOpenClawCapabilities(openclaw);
63
- for (const cap of capabilities) {
64
- const handler = customHandlers[cap.name] || this.createDefaultHandler(openclaw, cap);
65
- f2a.registerCapability(cap, handler);
66
- }
67
- }
68
- /**
69
- * 检测 OpenClaw 的能力
70
- */
71
- static async detectOpenClawCapabilities(openclaw) {
72
- // 默认能力集
73
- const defaultCapabilities = [
74
- {
75
- name: 'file-operation',
76
- description: 'Read and write files on the local system',
77
- tools: ['read', 'write', 'edit', 'list'],
78
- parameters: {
79
- action: {
80
- type: 'string',
81
- required: true,
82
- description: 'Action to perform: read, write, edit, list'
83
- },
84
- path: {
85
- type: 'string',
86
- required: true,
87
- description: 'File or directory path'
88
- },
89
- content: {
90
- type: 'string',
91
- required: false,
92
- description: 'Content for write operations'
93
- }
94
- }
95
- },
96
- {
97
- name: 'command-execution',
98
- description: 'Execute shell commands',
99
- tools: ['exec', 'bash'],
100
- parameters: {
101
- command: {
102
- type: 'string',
103
- required: true,
104
- description: 'Shell command to execute'
105
- },
106
- cwd: {
107
- type: 'string',
108
- required: false,
109
- description: 'Working directory'
110
- }
111
- }
112
- },
113
- {
114
- name: 'web-browsing',
115
- description: 'Browse web pages and fetch content',
116
- tools: ['browser', 'fetch'],
117
- parameters: {
118
- url: {
119
- type: 'string',
120
- required: true,
121
- description: 'URL to browse or fetch'
122
- },
123
- action: {
124
- type: 'string',
125
- required: false,
126
- description: 'Action: fetch, screenshot, click, type'
127
- }
128
- }
129
- },
130
- {
131
- name: 'code-generation',
132
- description: 'Generate code in various programming languages',
133
- tools: ['generate', 'refactor', 'explain'],
134
- parameters: {
135
- language: {
136
- type: 'string',
137
- required: true,
138
- description: 'Programming language'
139
- },
140
- description: {
141
- type: 'string',
142
- required: true,
143
- description: 'What the code should do'
144
- },
145
- context: {
146
- type: 'string',
147
- required: false,
148
- description: 'Additional context or requirements'
149
- }
150
- }
151
- },
152
- {
153
- name: 'task-delegation',
154
- description: 'Delegate tasks to other agents in the network',
155
- tools: ['delegate', 'discover'],
156
- parameters: {
157
- capability: {
158
- type: 'string',
159
- required: true,
160
- description: 'Required capability'
161
- },
162
- description: {
163
- type: 'string',
164
- required: true,
165
- description: 'Task description'
166
- }
167
- }
168
- }
169
- ];
170
- return defaultCapabilities;
171
- }
172
- /**
173
- * 创建默认能力处理器
174
- */
175
- static createDefaultHandler(openclaw, capability) {
176
- return async (params) => {
177
- // 构建任务描述
178
- const taskDescription = this.buildTaskDescription(capability.name, params);
179
- // 调用 OpenClaw 执行
180
- const result = await openclaw.execute(taskDescription, {
181
- capability: capability.name,
182
- parameters: params
183
- });
184
- return result;
185
- };
186
- }
187
- /**
188
- * 构建任务描述
189
- */
190
- static buildTaskDescription(capabilityName, params) {
191
- const paramStr = Object.entries(params)
192
- .map(([k, v]) => `${k}=${JSON.stringify(v)}`)
193
- .join(', ');
194
- return `[F2A Task] ${capabilityName}: ${paramStr}`;
195
- }
196
- /**
197
- * 启动适配器
198
- */
199
- async start() {
200
- if (this.running) {
201
- return { success: false, error: 'Adapter already running' };
202
- }
203
- // 启动 F2A
204
- const result = await this.f2a.start();
205
- if (!result.success) {
206
- return result;
207
- }
208
- // 绑定任务请求处理
209
- this.f2a.on('task:request', async (event) => {
210
- await this.handleTaskRequest(event);
211
- });
212
- this.running = true;
213
- console.log(`[OpenClawF2A] Adapter started with peerId: ${this.f2a.peerId.slice(0, 16)}...`);
214
- return { success: true, data: undefined };
215
- }
216
- /**
217
- * 停止适配器
218
- */
219
- async stop() {
220
- if (!this.running)
221
- return;
222
- await this.f2a.stop();
223
- this.running = false;
224
- console.log('[OpenClawF2A] Adapter stopped');
225
- }
226
- /**
227
- * 处理收到的任务请求
228
- */
229
- async handleTaskRequest(event) {
230
- console.log(`[OpenClawF2A] Handling task request: ${event.taskType}`);
231
- try {
232
- // 构建任务描述
233
- const taskDescription = `[F2A Remote Task from ${event.from.slice(0, 16)}...] ${event.description}`;
234
- // 调用 OpenClaw 执行
235
- const result = await this.openclaw.execute(taskDescription, {
236
- taskType: event.taskType,
237
- parameters: event.parameters,
238
- remote: true,
239
- from: event.from
240
- });
241
- // 发送成功响应
242
- await this.f2a.respondToTask(event.from, event.taskId, 'success', result);
243
- }
244
- catch (error) {
245
- const errorMsg = error instanceof Error ? error.message : String(error);
246
- console.error(`[OpenClawF2A] Task execution failed:`, errorMsg);
247
- // 发送错误响应
248
- await this.f2a.respondToTask(event.from, event.taskId, 'error', undefined, errorMsg);
249
- }
250
- }
251
- /**
252
- * 委托任务给网络中的其他 Agent
253
- */
254
- async delegateTask(options) {
255
- return this.f2a.delegateTask(options);
256
- }
257
- /**
258
- * 发现网络中的 Agents
259
- */
260
- async discoverAgents(capability) {
261
- return this.f2a.discoverAgents(capability);
262
- }
263
- /**
264
- * 直接发送任务给特定 Peer
265
- */
266
- async sendTaskTo(peerId, taskType, description, parameters) {
267
- return this.f2a.sendTaskTo(peerId, taskType, description, parameters);
268
- }
269
- /**
270
- * 获取本节点信息
271
- */
272
- getAgentInfo() {
273
- return this.f2a.agentInfo;
274
- }
275
- /**
276
- * 获取已连接的 Peers
277
- */
278
- getConnectedPeers() {
279
- return this.f2a.getConnectedPeers();
280
- }
281
- /**
282
- * 注册新能力
283
- */
284
- registerCapability(capability, handler) {
285
- this.f2a.registerCapability(capability, handler);
286
- }
287
- /**
288
- * 获取 PeerID
289
- */
290
- get peerId() {
291
- return this.f2a.peerId;
292
- }
293
- }
294
- exports.OpenClawF2AAdapter = OpenClawF2AAdapter;
295
- // 默认导出
296
- exports.default = OpenClawF2AAdapter;
297
- //# sourceMappingURL=openclaw.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"openclaw.js","sourceRoot":"","sources":["../../src/adapters/openclaw.ts"],"names":[],"mappings":"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"}
@@ -1,80 +0,0 @@
1
- /**
2
- * ConnectionManager - 连接确认管理器
3
- *
4
- * 管理待确认连接请求,支持:
5
- * - 1小时有效期
6
- * - 同一 Agent 去重(保留最新)
7
- * - 通过序号或 ID 确认/拒绝
8
- */
9
- import { EventEmitter } from 'eventemitter3';
10
- import { Socket } from 'net';
11
- import { PendingConnection, PendingConnectionView, ConnectionRequestEvent, ConfirmationEvent, RejectionEvent, ExpirationEvent, Result } from '../types';
12
- export interface ConnectionManagerOptions {
13
- timeout?: number;
14
- cleanupInterval?: number;
15
- }
16
- export declare class ConnectionManager extends EventEmitter<{
17
- pending_added: (event: ConnectionRequestEvent) => void;
18
- confirmed: (event: ConfirmationEvent) => void;
19
- rejected: (event: RejectionEvent) => void;
20
- expired: (event: ExpirationEvent) => void;
21
- }> {
22
- private pendingConnections;
23
- private agentToConfirmation;
24
- private maxIndex;
25
- private cleanupInterval?;
26
- private options;
27
- constructor(options?: ConnectionManagerOptions);
28
- /**
29
- * 添加待确认连接
30
- */
31
- addPending(agentId: string, socket: Socket, publicKey: string, address: string, port: number): {
32
- confirmationId: string;
33
- isDuplicate: boolean;
34
- };
35
- /**
36
- * 获取待确认连接列表
37
- */
38
- getPendingList(): PendingConnectionView[];
39
- /**
40
- * 通过序号查找
41
- */
42
- getByIndex(index: number): PendingConnection | null;
43
- /**
44
- * 通过 ID 查找
45
- */
46
- getById(confirmationId: string): PendingConnection | null;
47
- /**
48
- * 确认连接
49
- */
50
- confirm(idOrIndex: string | number): Result<PendingConnection>;
51
- /**
52
- * 拒绝连接
53
- */
54
- reject(idOrIndex: string | number, reason?: string): Result<PendingConnection>;
55
- /**
56
- * 获取待确认数量
57
- */
58
- getPendingCount(): number;
59
- /**
60
- * 检查 Agent 是否有待确认请求
61
- */
62
- hasPendingForAgent(agentId: string): boolean;
63
- /**
64
- * 停止管理器
65
- */
66
- stop(): void;
67
- /**
68
- * 启动定期清理
69
- */
70
- private startCleanup;
71
- /**
72
- * 清理过期连接
73
- */
74
- private cleanup;
75
- /**
76
- * 安全关闭 socket
77
- */
78
- private closeSocket;
79
- }
80
- //# sourceMappingURL=connection-manager.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"connection-manager.d.ts","sourceRoot":"","sources":["../../src/core/connection-manager.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAE7C,OAAO,EAAE,MAAM,EAAE,MAAM,KAAK,CAAC;AAC7B,OAAO,EACL,iBAAiB,EACjB,qBAAqB,EACrB,sBAAsB,EACtB,iBAAiB,EACjB,cAAc,EACd,eAAe,EACf,MAAM,EACP,MAAM,UAAU,CAAC;AAMlB,MAAM,WAAW,wBAAwB;IACvC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,qBAAa,iBAAkB,SAAQ,YAAY,CAAC;IAClD,aAAa,EAAE,CAAC,KAAK,EAAE,sBAAsB,KAAK,IAAI,CAAC;IACvD,SAAS,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,IAAI,CAAC;IAC9C,QAAQ,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,IAAI,CAAC;IAC1C,OAAO,EAAE,CAAC,KAAK,EAAE,eAAe,KAAK,IAAI,CAAC;CAC3C,CAAC;IACA,OAAO,CAAC,kBAAkB,CAA6C;IACvE,OAAO,CAAC,mBAAmB,CAAkC;IAC7D,OAAO,CAAC,QAAQ,CAAa;IAC7B,OAAO,CAAC,eAAe,CAAC,CAAiB;IACzC,OAAO,CAAC,OAAO,CAAqC;gBAExC,OAAO,GAAE,wBAA6B;IASlD;;OAEG;IACH,UAAU,CACR,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,GACX;QAAE,cAAc,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,OAAO,CAAA;KAAE;IA8CnD;;OAEG;IACH,cAAc,IAAI,qBAAqB,EAAE;IAwBzC;;OAEG;IACH,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,iBAAiB,GAAG,IAAI;IASnD;;OAEG;IACH,OAAO,CAAC,cAAc,EAAE,MAAM,GAAG,iBAAiB,GAAG,IAAI;IAgBzD;;OAEG;IACH,OAAO,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC,iBAAiB,CAAC;IAuB9D;;OAEG;IACH,MAAM,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,EAAE,MAAM,GAAE,MAAe,GAAG,MAAM,CAAC,iBAAiB,CAAC;IAyBtF;;OAEG;IACH,eAAe,IAAI,MAAM;IAIzB;;OAEG;IACH,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAI5C;;OAEG;IACH,IAAI,IAAI,IAAI;IAcZ;;OAEG;IACH,OAAO,CAAC,YAAY;IAMpB;;OAEG;IACH,OAAO,CAAC,OAAO;IAuBf;;OAEG;IACH,OAAO,CAAC,WAAW;CAOpB"}
@@ -1,235 +0,0 @@
1
- "use strict";
2
- /**
3
- * ConnectionManager - 连接确认管理器
4
- *
5
- * 管理待确认连接请求,支持:
6
- * - 1小时有效期
7
- * - 同一 Agent 去重(保留最新)
8
- * - 通过序号或 ID 确认/拒绝
9
- */
10
- Object.defineProperty(exports, "__esModule", { value: true });
11
- exports.ConnectionManager = void 0;
12
- const eventemitter3_1 = require("eventemitter3");
13
- const crypto_1 = require("crypto");
14
- // 常量
15
- const PENDING_TIMEOUT = 60 * 60 * 1000; // 1小时
16
- const CLEANUP_INTERVAL = 60 * 1000; // 每分钟清理一次
17
- class ConnectionManager extends eventemitter3_1.EventEmitter {
18
- pendingConnections = new Map();
19
- agentToConfirmation = new Map();
20
- maxIndex = 0;
21
- cleanupInterval;
22
- options;
23
- constructor(options = {}) {
24
- super();
25
- this.options = {
26
- timeout: options.timeout ?? PENDING_TIMEOUT,
27
- cleanupInterval: options.cleanupInterval ?? CLEANUP_INTERVAL
28
- };
29
- this.startCleanup();
30
- }
31
- /**
32
- * 添加待确认连接
33
- */
34
- addPending(agentId, socket, publicKey, address, port) {
35
- // 检查是否已有同一 Agent 的待确认请求
36
- const existingId = this.agentToConfirmation.get(agentId);
37
- let isDuplicate = false;
38
- if (existingId) {
39
- const existing = this.pendingConnections.get(existingId);
40
- if (existing) {
41
- // 关闭旧的 socket
42
- this.closeSocket(existing.socket);
43
- // 删除旧的记录
44
- this.pendingConnections.delete(existingId);
45
- console.log(`[ConnectionManager] 更新 ${agentId.slice(0, 16)}... 的连接请求(去重)`);
46
- isDuplicate = true;
47
- }
48
- }
49
- const confirmationId = (0, crypto_1.randomUUID)();
50
- const now = Date.now();
51
- const pending = {
52
- confirmationId,
53
- agentId,
54
- socket,
55
- publicKey,
56
- address,
57
- port,
58
- timestamp: now,
59
- expiresAt: now + this.options.timeout,
60
- index: ++this.maxIndex
61
- };
62
- this.pendingConnections.set(confirmationId, pending);
63
- this.agentToConfirmation.set(agentId, confirmationId);
64
- this.emit('pending_added', {
65
- confirmationId,
66
- agentId,
67
- address,
68
- port,
69
- isDuplicate
70
- });
71
- return { confirmationId, isDuplicate };
72
- }
73
- /**
74
- * 获取待确认连接列表
75
- */
76
- getPendingList() {
77
- const now = Date.now();
78
- const list = [];
79
- for (const pending of this.pendingConnections.values()) {
80
- const remainingMs = pending.expiresAt - now;
81
- const remainingMinutes = Math.max(0, Math.floor(remainingMs / 60000));
82
- list.push({
83
- index: pending.index,
84
- confirmationId: pending.confirmationId,
85
- shortId: pending.confirmationId.slice(0, 8),
86
- agentId: pending.agentId,
87
- agentIdShort: pending.agentId.slice(0, 16) + '...',
88
- address: pending.address,
89
- port: pending.port,
90
- remainingMinutes,
91
- requestedAt: pending.timestamp
92
- });
93
- }
94
- return list.sort((a, b) => a.index - b.index);
95
- }
96
- /**
97
- * 通过序号查找
98
- */
99
- getByIndex(index) {
100
- for (const pending of this.pendingConnections.values()) {
101
- if (pending.index === index) {
102
- return pending;
103
- }
104
- }
105
- return null;
106
- }
107
- /**
108
- * 通过 ID 查找
109
- */
110
- getById(confirmationId) {
111
- // 完整匹配
112
- if (this.pendingConnections.has(confirmationId)) {
113
- return this.pendingConnections.get(confirmationId);
114
- }
115
- // 短 ID 匹配(前8位)
116
- for (const [id, pending] of this.pendingConnections) {
117
- if (id.startsWith(confirmationId)) {
118
- return pending;
119
- }
120
- }
121
- return null;
122
- }
123
- /**
124
- * 确认连接
125
- */
126
- confirm(idOrIndex) {
127
- const pending = typeof idOrIndex === 'number'
128
- ? this.getByIndex(idOrIndex)
129
- : this.getById(idOrIndex);
130
- if (!pending) {
131
- return { success: false, error: '连接请求不存在或已过期' };
132
- }
133
- // 清理记录
134
- this.pendingConnections.delete(pending.confirmationId);
135
- this.agentToConfirmation.delete(pending.agentId);
136
- this.emit('confirmed', {
137
- confirmationId: pending.confirmationId,
138
- agentId: pending.agentId,
139
- socket: pending.socket,
140
- publicKey: pending.publicKey
141
- });
142
- return { success: true, data: pending };
143
- }
144
- /**
145
- * 拒绝连接
146
- */
147
- reject(idOrIndex, reason = '用户拒绝') {
148
- const pending = typeof idOrIndex === 'number'
149
- ? this.getByIndex(idOrIndex)
150
- : this.getById(idOrIndex);
151
- if (!pending) {
152
- return { success: false, error: '连接请求不存在或已过期' };
153
- }
154
- // 关闭 socket
155
- this.closeSocket(pending.socket);
156
- // 清理记录
157
- this.pendingConnections.delete(pending.confirmationId);
158
- this.agentToConfirmation.delete(pending.agentId);
159
- this.emit('rejected', {
160
- confirmationId: pending.confirmationId,
161
- agentId: pending.agentId,
162
- reason
163
- });
164
- return { success: true, data: pending };
165
- }
166
- /**
167
- * 获取待确认数量
168
- */
169
- getPendingCount() {
170
- return this.pendingConnections.size;
171
- }
172
- /**
173
- * 检查 Agent 是否有待确认请求
174
- */
175
- hasPendingForAgent(agentId) {
176
- return this.agentToConfirmation.has(agentId);
177
- }
178
- /**
179
- * 停止管理器
180
- */
181
- stop() {
182
- if (this.cleanupInterval) {
183
- clearInterval(this.cleanupInterval);
184
- }
185
- // 关闭所有待确认连接
186
- for (const pending of this.pendingConnections.values()) {
187
- this.closeSocket(pending.socket);
188
- }
189
- this.pendingConnections.clear();
190
- this.agentToConfirmation.clear();
191
- }
192
- /**
193
- * 启动定期清理
194
- */
195
- startCleanup() {
196
- this.cleanupInterval = setInterval(() => {
197
- this.cleanup();
198
- }, this.options.cleanupInterval);
199
- }
200
- /**
201
- * 清理过期连接
202
- */
203
- cleanup() {
204
- const now = Date.now();
205
- let expiredCount = 0;
206
- for (const [confirmationId, pending] of this.pendingConnections) {
207
- if (now > pending.expiresAt) {
208
- this.closeSocket(pending.socket);
209
- this.agentToConfirmation.delete(pending.agentId);
210
- this.pendingConnections.delete(confirmationId);
211
- expiredCount++;
212
- this.emit('expired', {
213
- confirmationId,
214
- agentId: pending.agentId
215
- });
216
- }
217
- }
218
- if (expiredCount > 0) {
219
- console.log(`[ConnectionManager] 清理 ${expiredCount} 个过期连接`);
220
- }
221
- }
222
- /**
223
- * 安全关闭 socket
224
- */
225
- closeSocket(socket) {
226
- try {
227
- socket.end();
228
- }
229
- catch {
230
- // 忽略错误
231
- }
232
- }
233
- }
234
- exports.ConnectionManager = ConnectionManager;
235
- //# sourceMappingURL=connection-manager.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"connection-manager.js","sourceRoot":"","sources":["../../src/core/connection-manager.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=connection-manager.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"connection-manager.test.d.ts","sourceRoot":"","sources":["../../src/core/connection-manager.test.ts"],"names":[],"mappings":""}