@f2a/openclaw-f2a 0.3.3 → 0.3.4

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 (120) hide show
  1. package/dist/F2AComponentRegistry.d.ts +195 -0
  2. package/dist/F2AComponentRegistry.d.ts.map +1 -0
  3. package/dist/F2AComponentRegistry.js +385 -0
  4. package/dist/F2AComponentRegistry.js.map +1 -0
  5. package/dist/F2ACore.d.ts +227 -0
  6. package/dist/F2ACore.d.ts.map +1 -0
  7. package/dist/F2ACore.js +648 -0
  8. package/dist/F2ACore.js.map +1 -0
  9. package/dist/F2AMessageRouter.d.ts +108 -0
  10. package/dist/F2AMessageRouter.d.ts.map +1 -0
  11. package/dist/F2AMessageRouter.js +157 -0
  12. package/dist/F2AMessageRouter.js.map +1 -0
  13. package/dist/F2AToolRegistry.d.ts +45 -0
  14. package/dist/F2AToolRegistry.d.ts.map +1 -0
  15. package/dist/F2AToolRegistry.js +79 -0
  16. package/dist/F2AToolRegistry.js.map +1 -0
  17. package/dist/F2AWebhookManager.d.ts +79 -0
  18. package/dist/F2AWebhookManager.d.ts.map +1 -0
  19. package/dist/F2AWebhookManager.js +241 -0
  20. package/dist/F2AWebhookManager.js.map +1 -0
  21. package/dist/agent-manager.js +6 -6
  22. package/dist/agent-manager.js.map +1 -1
  23. package/dist/announcement-queue.d.ts +1 -8
  24. package/dist/announcement-queue.d.ts.map +1 -1
  25. package/dist/announcement-queue.js +19 -19
  26. package/dist/announcement-queue.js.map +1 -1
  27. package/dist/claim-handlers.d.ts +13 -4
  28. package/dist/claim-handlers.d.ts.map +1 -1
  29. package/dist/claim-handlers.js +42 -13
  30. package/dist/claim-handlers.js.map +1 -1
  31. package/dist/connector-helpers.d.ts +143 -0
  32. package/dist/connector-helpers.d.ts.map +1 -0
  33. package/dist/connector-helpers.js +398 -0
  34. package/dist/connector-helpers.js.map +1 -0
  35. package/dist/connector.d.ts +87 -265
  36. package/dist/connector.d.ts.map +1 -1
  37. package/dist/connector.js +334 -2037
  38. package/dist/connector.js.map +1 -1
  39. package/dist/contact-manager.d.ts +1 -1
  40. package/dist/contact-manager.d.ts.map +1 -1
  41. package/dist/contact-manager.js +12 -5
  42. package/dist/contact-manager.js.map +1 -1
  43. package/dist/contact-tool-handlers.d.ts +72 -0
  44. package/dist/contact-tool-handlers.d.ts.map +1 -0
  45. package/dist/contact-tool-handlers.js +413 -0
  46. package/dist/contact-tool-handlers.js.map +1 -0
  47. package/dist/f2a-client.d.ts +168 -0
  48. package/dist/f2a-client.d.ts.map +1 -0
  49. package/dist/f2a-client.js +425 -0
  50. package/dist/f2a-client.js.map +1 -0
  51. package/dist/handshake-protocol.d.ts +3 -2
  52. package/dist/handshake-protocol.d.ts.map +1 -1
  53. package/dist/handshake-protocol.js +15 -6
  54. package/dist/handshake-protocol.js.map +1 -1
  55. package/dist/index.d.ts +12 -16
  56. package/dist/index.d.ts.map +1 -1
  57. package/dist/index.js +13 -45
  58. package/dist/index.js.map +1 -1
  59. package/dist/logger.d.ts +31 -9
  60. package/dist/logger.d.ts.map +1 -1
  61. package/dist/logger.js +268 -12
  62. package/dist/logger.js.map +1 -1
  63. package/dist/network-client.d.ts +1 -8
  64. package/dist/network-client.d.ts.map +1 -1
  65. package/dist/network-client.js.map +1 -1
  66. package/dist/node-manager.d.ts +8 -8
  67. package/dist/node-manager.d.ts.map +1 -1
  68. package/dist/node-manager.js +100 -36
  69. package/dist/node-manager.js.map +1 -1
  70. package/dist/plugin.d.ts +2 -2
  71. package/dist/plugin.d.ts.map +1 -1
  72. package/dist/plugin.js +43 -23
  73. package/dist/plugin.js.map +1 -1
  74. package/dist/task-guard.d.ts.map +1 -1
  75. package/dist/task-guard.js +44 -38
  76. package/dist/task-guard.js.map +1 -1
  77. package/dist/task-queue.d.ts +2 -8
  78. package/dist/task-queue.d.ts.map +1 -1
  79. package/dist/task-queue.js +144 -119
  80. package/dist/task-queue.js.map +1 -1
  81. package/dist/tool-handlers.d.ts +15 -3
  82. package/dist/tool-handlers.d.ts.map +1 -1
  83. package/dist/tool-handlers.js +85 -54
  84. package/dist/tool-handlers.js.map +1 -1
  85. package/dist/tools/contact-tools.d.ts +18 -0
  86. package/dist/tools/contact-tools.d.ts.map +1 -0
  87. package/dist/tools/contact-tools.js +176 -0
  88. package/dist/tools/contact-tools.js.map +1 -0
  89. package/dist/tools/index.d.ts +9 -0
  90. package/dist/tools/index.d.ts.map +1 -0
  91. package/dist/tools/index.js +15 -0
  92. package/dist/tools/index.js.map +1 -0
  93. package/dist/tools/network-tools.d.ts +17 -0
  94. package/dist/tools/network-tools.d.ts.map +1 -0
  95. package/dist/tools/network-tools.js +106 -0
  96. package/dist/tools/network-tools.js.map +1 -0
  97. package/dist/tools/task-tools.d.ts +25 -0
  98. package/dist/tools/task-tools.d.ts.map +1 -0
  99. package/dist/tools/task-tools.js +275 -0
  100. package/dist/tools/task-tools.js.map +1 -0
  101. package/dist/types.d.ts +376 -12
  102. package/dist/types.d.ts.map +1 -1
  103. package/dist/types.js.map +1 -1
  104. package/dist/webhook-handlers.d.ts +50 -0
  105. package/dist/webhook-handlers.d.ts.map +1 -0
  106. package/dist/webhook-handlers.js +183 -0
  107. package/dist/webhook-handlers.js.map +1 -0
  108. package/dist/webhook-pusher.d.ts +1 -8
  109. package/dist/webhook-pusher.d.ts.map +1 -1
  110. package/dist/webhook-pusher.js.map +1 -1
  111. package/dist/webhook-server.d.ts +3 -8
  112. package/dist/webhook-server.d.ts.map +1 -1
  113. package/dist/webhook-server.js +21 -4
  114. package/dist/webhook-server.js.map +1 -1
  115. package/openclaw.plugin.json +1 -1
  116. package/package.json +7 -4
  117. package/dist/reputation.d.ts +0 -156
  118. package/dist/reputation.d.ts.map +0 -1
  119. package/dist/reputation.js +0 -432
  120. package/dist/reputation.js.map +0 -1
@@ -76,7 +76,7 @@ class TaskQueue {
76
76
  }
77
77
  catch (e) {
78
78
  // 数据库损坏或无法访问,删除并重新创建
79
- this.logger.warn('[F2A:Queue] 数据库初始化失败,将重建: error=%s', e);
79
+ this.logger?.warn?.('[F2A:Queue] 数据库初始化失败,将重建', { error: String(e) });
80
80
  try {
81
81
  if (this.db) {
82
82
  this.db.close();
@@ -84,7 +84,7 @@ class TaskQueue {
84
84
  }
85
85
  catch (closeErr) {
86
86
  // 忽略关闭错误,继续重建
87
- this.logger.warn('[F2A:Queue] 关闭数据库时出错: error=%s', closeErr);
87
+ this.logger?.warn?.('[F2A:Queue] 关闭数据库时出错', { error: String(closeErr) });
88
88
  }
89
89
  // 删除损坏的数据库文件
90
90
  if (fs_1.default.existsSync(dbPath)) {
@@ -92,7 +92,7 @@ class TaskQueue {
92
92
  const backupPath = `${dbPath}.corrupted.${Date.now()}`;
93
93
  try {
94
94
  fs_1.default.renameSync(dbPath, backupPath);
95
- this.logger.info('[F2A:Queue] 已备份损坏的数据库: %s', backupPath);
95
+ this.logger?.info?.('[F2A:Queue] 已备份损坏的数据库', { backupPath });
96
96
  }
97
97
  catch (backupErr) {
98
98
  // 备份失败,直接删除
@@ -119,7 +119,7 @@ class TaskQueue {
119
119
  CREATE INDEX IF NOT EXISTS idx_status ON tasks(status);
120
120
  CREATE INDEX IF NOT EXISTS idx_created ON tasks(created_at);
121
121
  `);
122
- this.logger.info('[F2A:Queue] 数据库已重建');
122
+ this.logger?.info?.('[F2A:Queue] 数据库已重建');
123
123
  }
124
124
  }
125
125
  /**
@@ -133,13 +133,13 @@ class TaskQueue {
133
133
  // 运行 SQLite PRAGMA integrity_check
134
134
  const result = this.db.pragma('integrity_check');
135
135
  if (result.length > 0 && result[0].integrity_check !== 'ok') {
136
- this.logger.warn('[F2A:Queue] 数据库完整性检查失败: %s', JSON.stringify(result));
136
+ this.logger?.warn?.('[F2A:Queue] 数据库完整性检查失败', { result: JSON.stringify(result) });
137
137
  throw new Error(`Database integrity check failed: ${JSON.stringify(result)}`);
138
138
  }
139
- this.logger.debug?.('[F2A:Queue] 数据库完整性检查通过');
139
+ this.logger?.debug?.('[F2A:Queue] 数据库完整性检查通过');
140
140
  }
141
141
  catch (e) {
142
- this.logger.warn('[F2A:Queue] 数据库完整性检查异常: %s', e);
142
+ this.logger?.warn?.('[F2A:Queue] 数据库完整性检查异常', { error: String(e) });
143
143
  throw e;
144
144
  }
145
145
  }
@@ -147,115 +147,126 @@ class TaskQueue {
147
147
  * 从数据库恢复任务
148
148
  *
149
149
  * P1 修复:尝试逐条恢复有效数据,避免数据库损坏时丢失所有任务
150
+ * P1-Round2 修复:使用事务包装整个 restore 操作,确保状态一致性
150
151
  */
151
152
  restore() {
152
153
  if (!this.db)
153
154
  return;
154
- try {
155
- // 恢复时将 processing 状态的任务重置为 pending,避免僵尸任务
156
- // 这些任务在崩溃前正在处理,但未完成,需要重新执行
157
- this.db.exec(`
158
- UPDATE tasks SET status = 'pending' WHERE status = 'processing'
159
- `);
160
- const rows = this.db.prepare(`
161
- SELECT * FROM tasks
162
- WHERE status IN ('pending', 'processing')
163
- ORDER BY created_at ASC
164
- `).all();
165
- let recoveredCount = 0;
166
- let skippedCount = 0;
167
- for (const row of rows) {
168
- try {
169
- // 验证必要字段
170
- if (!row.id || typeof row.id !== 'string') {
171
- this.logger.warn('[F2A:Queue] 跳过无效记录: 缺少 id');
172
- skippedCount++;
173
- continue;
174
- }
175
- if (!row.created_at || typeof row.created_at !== 'number') {
176
- this.logger.warn('[F2A:Queue] 跳过无效记录: id=%s, 缺少 created_at', row.id);
177
- skippedCount++;
178
- continue;
155
+ // P1-Round2 修复:使用事务包装整个恢复操作
156
+ const restoreTransaction = this.db.transaction(() => {
157
+ try {
158
+ // 恢复时将 processing 状态的任务重置为 pending,避免僵尸任务
159
+ // 这些任务在崩溃前正在处理,但未完成,需要重新执行
160
+ this.db.exec(`
161
+ UPDATE tasks SET status = 'pending' WHERE status = 'processing'
162
+ `);
163
+ const rows = this.db.prepare(`
164
+ SELECT * FROM tasks
165
+ WHERE status IN ('pending', 'processing')
166
+ ORDER BY created_at ASC
167
+ `).all();
168
+ let recoveredCount = 0;
169
+ let skippedCount = 0;
170
+ for (const row of rows) {
171
+ try {
172
+ // 验证必要字段
173
+ if (!row.id || typeof row.id !== 'string') {
174
+ this.logger?.warn?.('[F2A:Queue] 跳过无效记录', { reason: '缺少 id' });
175
+ skippedCount++;
176
+ continue;
177
+ }
178
+ if (!row.created_at || typeof row.created_at !== 'number') {
179
+ this.logger?.warn?.('[F2A:Queue] 跳过无效记录', { id: row.id, reason: '缺少 created_at' });
180
+ skippedCount++;
181
+ continue;
182
+ }
183
+ // 检查任务是否过期
184
+ const age = Date.now() - row.created_at;
185
+ if (age > this.maxAgeMs) {
186
+ // 删除过期任务
187
+ this.db.prepare('DELETE FROM tasks WHERE id = ?').run(row.id);
188
+ skippedCount++;
189
+ continue;
190
+ }
191
+ const task = {
192
+ taskId: row.id,
193
+ taskType: row.task_type || '',
194
+ description: row.description || '',
195
+ parameters: this.safeJsonParse(row.parameters),
196
+ from: row.from || '',
197
+ timestamp: row.timestamp || Date.now(),
198
+ timeout: row.timeout || 60000,
199
+ status: row.status || 'pending',
200
+ createdAt: row.created_at,
201
+ updatedAt: row.updated_at || undefined,
202
+ result: this.safeJsonParse(row.result),
203
+ error: row.error || undefined,
204
+ latency: row.latency || undefined,
205
+ webhookPushed: row.webhook_pushed === 1
206
+ };
207
+ this.tasks.set(task.taskId, task);
208
+ recoveredCount++;
179
209
  }
180
- // 检查任务是否过期
181
- const age = Date.now() - row.created_at;
182
- if (age > this.maxAgeMs) {
183
- // 删除过期任务
184
- this.db.prepare('DELETE FROM tasks WHERE id = ?').run(row.id);
210
+ catch (e) {
211
+ this.logger?.warn?.('[F2A:Queue] 跳过无效任务记录', { id: row.id, error: String(e) });
185
212
  skippedCount++;
186
- continue;
187
213
  }
188
- const task = {
189
- taskId: row.id,
190
- taskType: row.task_type || '',
191
- description: row.description || '',
192
- parameters: this.safeJsonParse(row.parameters),
193
- from: row.from || '',
194
- timestamp: row.timestamp || Date.now(),
195
- timeout: row.timeout || 60000,
196
- status: row.status || 'pending',
197
- createdAt: row.created_at,
198
- updatedAt: row.updated_at || undefined,
199
- result: this.safeJsonParse(row.result),
200
- error: row.error || undefined,
201
- latency: row.latency || undefined,
202
- webhookPushed: row.webhook_pushed === 1
203
- };
204
- this.tasks.set(task.taskId, task);
205
- recoveredCount++;
206
214
  }
207
- catch (e) {
208
- this.logger.warn('[F2A:Queue] 跳过无效任务记录: id=%s, error=%s', row.id, e);
209
- skippedCount++;
215
+ if (skippedCount > 0) {
216
+ this.logger?.info?.('[F2A:Queue] 恢复完成', { recovered: recoveredCount, skipped: skippedCount });
217
+ }
218
+ else {
219
+ this.logger?.info?.('[F2A:Queue] 从持久化恢复任务', { count: this.tasks.size });
210
220
  }
211
221
  }
212
- if (skippedCount > 0) {
213
- this.logger.info('[F2A:Queue] 恢复完成: recovered=%d, skipped=%d', recoveredCount, skippedCount);
214
- }
215
- else {
216
- this.logger.info('[F2A:Queue] 从持久化恢复任务: count=%d', this.tasks.size);
217
- }
218
- }
219
- catch (e) {
220
- // P1 修复:数据库损坏时不清空所有任务,而是尝试逐条恢复
221
- this.logger.warn('[F2A:Queue] 批量恢复失败,尝试逐条恢复: error=%s', e);
222
- try {
223
- // 尝试逐条读取并恢复
224
- const rows = this.db.prepare(`SELECT * FROM tasks WHERE status IN ('pending', 'processing')`).all();
225
- for (const row of rows) {
226
- try {
227
- if (row.id && row.created_at) {
228
- const task = {
229
- taskId: row.id,
230
- taskType: row.task_type || '',
231
- description: row.description || '',
232
- parameters: this.safeJsonParse(row.parameters),
233
- from: row.from || '',
234
- timestamp: row.timestamp || Date.now(),
235
- timeout: row.timeout || 60000,
236
- status: 'pending', // 恢复时默认设为 pending
237
- createdAt: row.created_at,
238
- updatedAt: row.updated_at || undefined,
239
- result: this.safeJsonParse(row.result),
240
- error: row.error || undefined,
241
- latency: row.latency || undefined,
242
- webhookPushed: row.webhook_pushed === 1
243
- };
244
- this.tasks.set(task.taskId, task);
222
+ catch (e) {
223
+ // P1 修复:数据库损坏时不清空所有任务,而是尝试逐条恢复
224
+ this.logger?.warn?.('[F2A:Queue] 批量恢复失败,尝试逐条恢复', { error: String(e) });
225
+ try {
226
+ // 尝试逐条读取并恢复
227
+ const rows = this.db.prepare(`SELECT * FROM tasks WHERE status IN ('pending', 'processing')`).all();
228
+ for (const row of rows) {
229
+ try {
230
+ if (row.id && row.created_at) {
231
+ const task = {
232
+ taskId: row.id,
233
+ taskType: row.task_type || '',
234
+ description: row.description || '',
235
+ parameters: this.safeJsonParse(row.parameters),
236
+ from: row.from || '',
237
+ timestamp: row.timestamp || Date.now(),
238
+ timeout: row.timeout || 60000,
239
+ status: 'pending', // 恢复时默认设为 pending
240
+ createdAt: row.created_at,
241
+ updatedAt: row.updated_at || undefined,
242
+ result: this.safeJsonParse(row.result),
243
+ error: row.error || undefined,
244
+ latency: row.latency || undefined,
245
+ webhookPushed: row.webhook_pushed === 1
246
+ };
247
+ this.tasks.set(task.taskId, task);
248
+ }
249
+ }
250
+ catch (rowError) {
251
+ // 单条记录恢复失败,跳过并继续
252
+ this.logger?.warn?.('[F2A:Queue] 单条记录恢复失败', { id: row?.id, error: String(rowError) });
245
253
  }
246
254
  }
247
- catch (rowError) {
248
- // 单条记录恢复失败,跳过并继续
249
- this.logger.warn('[F2A:Queue] 单条记录恢复失败: id=%s, error=%s', row?.id, rowError);
250
- }
255
+ this.logger?.info?.('[F2A:Queue] 逐条恢复完成', { count: this.tasks.size });
256
+ }
257
+ catch (recoverError) {
258
+ // 所有恢复尝试都失败,记录错误但不清空内存
259
+ this.logger?.error?.('[F2A:Queue] 所有恢复尝试失败,将使用空内存队列', { error: String(recoverError) });
260
+ // 注意:这里不清空 this.tasks,保留任何可能已部分恢复的数据
251
261
  }
252
- this.logger.info('[F2A:Queue] 逐条恢复完成: count=%d', this.tasks.size);
253
- }
254
- catch (recoverError) {
255
- // 所有恢复尝试都失败,记录错误但不清空内存
256
- this.logger.error('[F2A:Queue] 所有恢复尝试失败,将使用空内存队列: error=%s', recoverError);
257
- // 注意:这里不清空 this.tasks,保留任何可能已部分恢复的数据
258
262
  }
263
+ });
264
+ // P1-Round2 修复:在事务外执行恢复
265
+ try {
266
+ restoreTransaction();
267
+ }
268
+ catch (e) {
269
+ this.logger?.error?.('[F2A:Queue] 恢复事务执行失败', { error: String(e) });
259
270
  }
260
271
  }
261
272
  /**
@@ -268,7 +279,7 @@ class TaskQueue {
268
279
  return JSON.parse(json);
269
280
  }
270
281
  catch {
271
- this.logger.warn('[F2A:Queue] JSON 解析失败,跳过: json=%s...', json.slice(0, 50));
282
+ this.logger?.warn?.('[F2A:Queue] JSON 解析失败,跳过', { jsonPreview: json.slice(0, 50) + '...' });
272
283
  return undefined;
273
284
  }
274
285
  }
@@ -334,15 +345,21 @@ class TaskQueue {
334
345
  this.lastCleanupTime = now;
335
346
  }
336
347
  // 检查是否为重复添加(保留原 createdAt)
337
- const existingTask = this.tasks.get(request.taskId);
338
- const preservedCreatedAt = existingTask?.createdAt ?? Date.now();
348
+ // P0-1 修复:将 existingTask 检查移入事务内,解决竞态条件
349
+ const preservedCreatedAt = Date.now();
339
350
  // 使用事务确保原子性(解决竞态条件)
340
351
  if (this.db) {
341
352
  const insertTask = this.db.transaction(() => {
353
+ // P0-1 修复:在事务开始时重新获取 existingTask,避免竞态
354
+ const existingTaskInTransaction = this.tasks.get(request.taskId);
355
+ const actualCreatedAt = existingTaskInTransaction?.createdAt ?? Date.now();
342
356
  // 在事务内检查队列大小(原子操作)
343
- const count = this.db.prepare('SELECT COUNT(*) as count FROM tasks').get();
344
- if (count.count >= this.maxSize && !existingTask) {
345
- throw new Error('Task queue is full');
357
+ // 只有新任务才需要检查容量
358
+ if (!existingTaskInTransaction) {
359
+ const count = this.db.prepare('SELECT COUNT(*) as count FROM tasks').get();
360
+ if (count.count >= this.maxSize) {
361
+ throw new Error('Task queue is full');
362
+ }
346
363
  }
347
364
  const task = {
348
365
  ...request,
@@ -350,7 +367,7 @@ class TaskQueue {
350
367
  timestamp,
351
368
  timeout,
352
369
  status: 'pending',
353
- createdAt: preservedCreatedAt,
370
+ createdAt: actualCreatedAt,
354
371
  webhookPushed: false
355
372
  };
356
373
  this.db.prepare(`
@@ -366,8 +383,10 @@ class TaskQueue {
366
383
  return task;
367
384
  }
368
385
  // 无 DB 时,在内存中检查队列是否已满
386
+ // 先检查是否已存在(原子操作)
387
+ const existingTaskMemory = this.tasks.get(request.taskId);
369
388
  // 注意:对于新任务才检查容量限制
370
- if (!existingTask && this.tasks.size >= this.maxSize) {
389
+ if (!existingTaskMemory && this.tasks.size >= this.maxSize) {
371
390
  throw new Error('Task queue is full');
372
391
  }
373
392
  const task = {
@@ -376,7 +395,7 @@ class TaskQueue {
376
395
  timestamp,
377
396
  timeout,
378
397
  status: 'pending',
379
- createdAt: preservedCreatedAt,
398
+ createdAt: existingTaskMemory?.createdAt ?? preservedCreatedAt,
380
399
  webhookPushed: false
381
400
  };
382
401
  this.tasks.set(request.taskId, task);
@@ -543,21 +562,27 @@ class TaskQueue {
543
562
  // 如果队列接近满,清理已完成和失败的任务
544
563
  const highWatermark = Math.floor(this.maxSize * 0.9);
545
564
  if (this.tasks.size >= highWatermark) {
546
- const completedAndFailed = [];
565
+ // P2-Round2 修复:创建快照后再排序,避免并发修改问题
566
+ // 先收集已完成/失败的任务信息
567
+ const completedAndFailedSnapshot = [];
547
568
  for (const [id, task] of this.tasks) {
548
569
  if (task.status === 'completed' || task.status === 'failed') {
549
- completedAndFailed.push(id);
570
+ // P2-Round2 修复:处理 undefined 情况,使用安全默认值
571
+ const updatedAt = task.updatedAt ?? task.createdAt ?? 0;
572
+ const createdAt = task.createdAt ?? 0;
573
+ completedAndFailedSnapshot.push({ id, updatedAt, createdAt });
550
574
  }
551
575
  }
552
576
  // 按更新时间排序,优先删除旧的已完成/失败任务
553
- completedAndFailed.sort((a, b) => {
554
- const taskA = this.tasks.get(a);
555
- const taskB = this.tasks.get(b);
556
- return (taskA?.updatedAt || taskA?.createdAt || 0) - (taskB?.updatedAt || taskB?.createdAt || 0);
577
+ // 在快照上排序,避免并发问题
578
+ completedAndFailedSnapshot.sort((a, b) => {
579
+ // P2-Round2 修复:已在收集时处理 undefined,这里直接使用
580
+ return a.updatedAt - b.updatedAt;
557
581
  });
558
582
  // 删除足够多的任务以腾出空间
559
583
  const targetSize = Math.floor(this.maxSize * 0.7);
560
- const toRemove = completedAndFailed.slice(0, Math.max(0, this.tasks.size - targetSize));
584
+ const toRemoveCount = Math.max(0, this.tasks.size - targetSize);
585
+ const toRemove = completedAndFailedSnapshot.slice(0, toRemoveCount).map(item => item.id);
561
586
  for (const id of toRemove) {
562
587
  this.tasks.delete(id);
563
588
  if (this.db) {
@@ -565,7 +590,7 @@ class TaskQueue {
565
590
  }
566
591
  }
567
592
  if (toRemove.length > 0) {
568
- this.logger.info('[F2A:Queue] 清理已完成/失败任务以释放空间: count=%d', toRemove.length);
593
+ this.logger?.info?.('[F2A:Queue] 清理已完成/失败任务以释放空间', { count: toRemove.length });
569
594
  }
570
595
  }
571
596
  }
@@ -1 +1 @@
1
- {"version":3,"file":"task-queue.js","sourceRoot":"","sources":["../src/task-queue.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;;AAGH,oEAAsC;AACtC,gDAAwB;AACxB,4CAAoB;AA2DpB,iBAAiB;AACjB,MAAM,kBAAkB,GAAG,KAAK,CAAC;AACjC,iBAAiB;AACjB,MAAM,cAAc,GAAG,IAAI,CAAC;AAC5B,wBAAwB;AACxB,MAAM,cAAc,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AAE3C,MAAa,SAAS;IACZ,KAAK,GAAG,IAAI,GAAG,EAAsB,CAAC;IACtC,OAAO,CAAS;IAChB,QAAQ,CAAS;IACjB,cAAc,CAAU;IACxB,gBAAgB,CAAS;IACzB,eAAe,GAAW,CAAC,CAAC;IAC5B,iBAAiB,CAAS;IAC1B,EAAE,CAAqB;IACvB,MAAM,CAAS;IAEvB,YAAY,OAA0B;QACpC,IAAI,CAAC,OAAO,GAAG,OAAO,EAAE,OAAO,IAAI,IAAI,CAAC;QACxC,IAAI,CAAC,QAAQ,GAAG,OAAO,EAAE,QAAQ,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,OAAO;QACjE,IAAI,CAAC,cAAc,GAAG,OAAO,EAAE,cAAc,IAAI,IAAI,CAAC;QACtD,IAAI,CAAC,gBAAgB,GAAG,OAAO,EAAE,gBAAgB,IAAI,GAAG,CAAC,CAAC,cAAc;QACxE,IAAI,CAAC,MAAM,GAAG,OAAO,EAAE,MAAM,IAAI,OAAO,CAAC;QACzC,kCAAkC;QAClC,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,GAAG,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC,UAAU;QAExE,IAAI,IAAI,CAAC,cAAc,IAAI,OAAO,EAAE,UAAU,EAAE,CAAC;YAC/C,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QAC3C,CAAC;IACH,CAAC;IAED;;OAEG;IACK,eAAe,CAAC,UAAkB;QACxC,SAAS;QACT,IAAI,CAAC,YAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YAC/B,YAAE,CAAC,SAAS,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAChD,CAAC;QAED,MAAM,MAAM,GAAG,cAAI,CAAC,IAAI,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC;QAEtD,IAAI,CAAC;YACH,IAAI,CAAC,EAAE,GAAG,IAAI,wBAAQ,CAAC,MAAM,CAAC,CAAC;YAE/B,uBAAuB;YACvB,IAAI,CAAC,sBAAsB,EAAE,CAAC;YAE9B,MAAM;YACN,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC;;;;;;;;;;;;;;;;;OAiBZ,CAAC,CAAC;YAEH,cAAc;YACd,IAAI,CAAC,OAAO,EAAE,CAAC;QACjB,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,qBAAqB;YACrB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,oCAAoC,EAAE,CAAC,CAAC,CAAC;YAC1D,IAAI,CAAC;gBACH,IAAI,IAAI,CAAC,EAAE,EAAE,CAAC;oBACZ,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC;gBAClB,CAAC;YACH,CAAC;YAAC,OAAO,QAAQ,EAAE,CAAC;gBAClB,cAAc;gBACd,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,gCAAgC,EAAE,QAAQ,CAAC,CAAC;YAC/D,CAAC;YAED,aAAa;YACb,IAAI,YAAE,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC1B,0BAA0B;gBAC1B,MAAM,UAAU,GAAG,GAAG,MAAM,cAAc,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;gBACvD,IAAI,CAAC;oBACH,YAAE,CAAC,UAAU,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;oBAClC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,2BAA2B,EAAE,UAAU,CAAC,CAAC;gBAC5D,CAAC;gBAAC,OAAO,SAAS,EAAE,CAAC;oBACnB,YAAY;oBACZ,YAAE,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;gBACxB,CAAC;YACH,CAAC;YAED,OAAO;YACP,IAAI,CAAC,EAAE,GAAG,IAAI,wBAAQ,CAAC,MAAM,CAAC,CAAC;YAC/B,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC;;;;;;;;;;;;;;;;;OAiBZ,CAAC,CAAC;YAEH,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;QACzC,CAAC;IACH,CAAC;IAED;;;OAGG;IACK,sBAAsB;QAC5B,IAAI,CAAC,IAAI,CAAC,EAAE;YAAE,OAAO;QAErB,IAAI,CAAC;YACH,mCAAmC;YACnC,MAAM,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,iBAAiB,CAAuC,CAAC;YAEvF,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,eAAe,KAAK,IAAI,EAAE,CAAC;gBAC5D,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,4BAA4B,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;gBACvE,MAAM,IAAI,KAAK,CAAC,oCAAoC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YAChF,CAAC;YAED,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,wBAAwB,CAAC,CAAC;QAChD,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,4BAA4B,EAAE,CAAC,CAAC,CAAC;YAClD,MAAM,CAAC,CAAC;QACV,CAAC;IACH,CAAC;IAED;;;;OAIG;IACK,OAAO;QACb,IAAI,CAAC,IAAI,CAAC,EAAE;YAAE,OAAO;QAErB,IAAI,CAAC;YACH,0CAA0C;YAC1C,2BAA2B;YAC3B,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC;;OAEZ,CAAC,CAAC;YAEH,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC;;;;OAI5B,CAAC,CAAC,GAAG,EAAe,CAAC;YAEtB,IAAI,cAAc,GAAG,CAAC,CAAC;YACvB,IAAI,YAAY,GAAG,CAAC,CAAC;YAErB,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;gBACvB,IAAI,CAAC;oBACH,SAAS;oBACT,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,OAAO,GAAG,CAAC,EAAE,KAAK,QAAQ,EAAE,CAAC;wBAC1C,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;wBAC9C,YAAY,EAAE,CAAC;wBACf,SAAS;oBACX,CAAC;oBAED,IAAI,CAAC,GAAG,CAAC,UAAU,IAAI,OAAO,GAAG,CAAC,UAAU,KAAK,QAAQ,EAAE,CAAC;wBAC1D,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,0CAA0C,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;wBACrE,YAAY,EAAE,CAAC;wBACf,SAAS;oBACX,CAAC;oBAED,WAAW;oBACX,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,GAAG,CAAC,UAAU,CAAC;oBACxC,IAAI,GAAG,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;wBACxB,SAAS;wBACT,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,gCAAgC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;wBAC9D,YAAY,EAAE,CAAC;wBACf,SAAS;oBACX,CAAC;oBAED,MAAM,IAAI,GAAe;wBACvB,MAAM,EAAE,GAAG,CAAC,EAAY;wBACxB,QAAQ,EAAG,GAAG,CAAC,SAAoB,IAAI,EAAE;wBACzC,WAAW,EAAG,GAAG,CAAC,WAAsB,IAAI,EAAE;wBAC9C,UAAU,EAAE,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,UAAU,CAAwC;wBACrF,IAAI,EAAG,GAAG,CAAC,IAAe,IAAI,EAAE;wBAChC,SAAS,EAAG,GAAG,CAAC,SAAoB,IAAI,IAAI,CAAC,GAAG,EAAE;wBAClD,OAAO,EAAG,GAAG,CAAC,OAAkB,IAAI,KAAK;wBACzC,MAAM,EAAG,GAAG,CAAC,MAA4D,IAAI,SAAS;wBACtF,SAAS,EAAE,GAAG,CAAC,UAAoB;wBACnC,SAAS,EAAG,GAAG,CAAC,UAAqB,IAAI,SAAS;wBAClD,MAAM,EAAE,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC;wBACtC,KAAK,EAAG,GAAG,CAAC,KAAgB,IAAI,SAAS;wBACzC,OAAO,EAAG,GAAG,CAAC,OAAkB,IAAI,SAAS;wBAC7C,aAAa,EAAE,GAAG,CAAC,cAAc,KAAK,CAAC;qBACxC,CAAC;oBAEF,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;oBAClC,cAAc,EAAE,CAAC;gBACnB,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACX,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,uCAAuC,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;oBACrE,YAAY,EAAE,CAAC;gBACjB,CAAC;YACH,CAAC;YAED,IAAI,YAAY,GAAG,CAAC,EAAE,CAAC;gBACrB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,4CAA4C,EAAE,cAAc,EAAE,YAAY,CAAC,CAAC;YAC/F,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,gCAAgC,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACtE,CAAC;QACH,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,+BAA+B;YAC/B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,qCAAqC,EAAE,CAAC,CAAC,CAAC;YAE3D,IAAI,CAAC;gBACH,YAAY;gBACZ,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,+DAA+D,CAAC,CAAC,GAAG,EAAe,CAAC;gBAEjH,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;oBACvB,IAAI,CAAC;wBACH,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,UAAU,EAAE,CAAC;4BAC7B,MAAM,IAAI,GAAe;gCACvB,MAAM,EAAE,GAAG,CAAC,EAAY;gCACxB,QAAQ,EAAG,GAAG,CAAC,SAAoB,IAAI,EAAE;gCACzC,WAAW,EAAG,GAAG,CAAC,WAAsB,IAAI,EAAE;gCAC9C,UAAU,EAAE,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,UAAU,CAAwC;gCACrF,IAAI,EAAG,GAAG,CAAC,IAAe,IAAI,EAAE;gCAChC,SAAS,EAAG,GAAG,CAAC,SAAoB,IAAI,IAAI,CAAC,GAAG,EAAE;gCAClD,OAAO,EAAG,GAAG,CAAC,OAAkB,IAAI,KAAK;gCACzC,MAAM,EAAE,SAAS,EAAE,kBAAkB;gCACrC,SAAS,EAAE,GAAG,CAAC,UAAoB;gCACnC,SAAS,EAAG,GAAG,CAAC,UAAqB,IAAI,SAAS;gCAClD,MAAM,EAAE,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC;gCACtC,KAAK,EAAG,GAAG,CAAC,KAAgB,IAAI,SAAS;gCACzC,OAAO,EAAG,GAAG,CAAC,OAAkB,IAAI,SAAS;gCAC7C,aAAa,EAAE,GAAG,CAAC,cAAc,KAAK,CAAC;6BACxC,CAAC;4BACF,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;wBACpC,CAAC;oBACH,CAAC;oBAAC,OAAO,QAAQ,EAAE,CAAC;wBAClB,iBAAiB;wBACjB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,uCAAuC,EAAE,GAAG,EAAE,EAAE,EAAE,QAAQ,CAAC,CAAC;oBAC/E,CAAC;gBACH,CAAC;gBAED,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,8BAA8B,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACpE,CAAC;YAAC,OAAO,YAAY,EAAE,CAAC;gBACtB,uBAAuB;gBACvB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,yCAAyC,EAAE,YAAY,CAAC,CAAC;gBAC3E,qCAAqC;YACvC,CAAC;QACH,CAAC;IACH,CAAC;IAED;;OAEG;IACK,aAAa,CAAC,IAA+B;QACnD,IAAI,CAAC,IAAI;YAAE,OAAO,SAAS,CAAC;QAC5B,IAAI,CAAC;YACH,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAAC,MAAM,CAAC;YACP,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,sCAAsC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;YAC5E,OAAO,SAAS,CAAC;QACnB,CAAC;IACH,CAAC;IAED;;OAEG;IACH,GAAG,CAAC,OAAoB;QACtB,kCAAkC;QAElC,gBAAgB;QAChB,IAAI,CAAC,OAAO,CAAC,MAAM,IAAI,OAAO,OAAO,CAAC,MAAM,KAAK,QAAQ,IAAI,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;YAC1F,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;QACvD,CAAC;QAED,2BAA2B;QAC3B,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,OAAO,OAAO,CAAC,IAAI,KAAK,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE;YAClF,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE;YACrB,CAAC,CAAC,SAAS,CAAC;QAEd,0BAA0B;QAC1B,IAAI,SAAiB,CAAC;QACtB,IAAI,OAAO,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;YACpC,IAAI,OAAO,OAAO,CAAC,SAAS,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;gBACjF,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;YACnE,CAAC;YACD,IAAI,OAAO,CAAC,SAAS,IAAI,CAAC,EAAE,CAAC;gBAC3B,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;YAChD,CAAC;YACD,kCAAkC;YAClC,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;YACjD,IAAI,OAAO,CAAC,SAAS,GAAG,aAAa,EAAE,CAAC;gBACtC,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;YACvD,CAAC;YACD,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;QAChC,CAAC;aAAM,CAAC;YACN,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACzB,CAAC;QAED,uCAAuC;QACvC,IAAI,OAAe,CAAC;QACpB,IAAI,OAAO,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;YAClC,IAAI,OAAO,OAAO,CAAC,OAAO,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC7E,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;YACjE,CAAC;YACD,IAAI,OAAO,CAAC,OAAO,GAAG,cAAc,EAAE,CAAC;gBACrC,MAAM,IAAI,KAAK,CAAC,sBAAsB,cAAc,IAAI,CAAC,CAAC;YAC5D,CAAC;YACD,IAAI,OAAO,CAAC,OAAO,GAAG,cAAc,EAAE,CAAC;gBACrC,MAAM,IAAI,KAAK,CAAC,yBAAyB,cAAc,eAAe,CAAC,CAAC;YAC1E,CAAC;YACD,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;QAC5B,CAAC;aAAM,CAAC;YACN,OAAO,GAAG,kBAAkB,CAAC;QAC/B,CAAC;QAED,+BAA+B;QAE/B,UAAU;QACV,qBAAqB;QACrB,uBAAuB;QACvB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,MAAM,kBAAkB,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAC5E,MAAM,aAAa,GACjB,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,kBAAkB;YACrC,CAAC,GAAG,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC,iBAAiB,CAAC;QAExD,IAAI,aAAa,EAAE,CAAC;YAClB,IAAI,CAAC,OAAO,EAAE,CAAC;YACf,IAAI,CAAC,eAAe,GAAG,GAAG,CAAC;QAC7B,CAAC;QAED,2BAA2B;QAC3B,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACpD,MAAM,kBAAkB,GAAG,YAAY,EAAE,SAAS,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;QAEjE,oBAAoB;QACpB,IAAI,IAAI,CAAC,EAAE,EAAE,CAAC;YACZ,MAAM,UAAU,GAAG,IAAI,CAAC,EAAG,CAAC,WAAW,CAAC,GAAG,EAAE;gBAC3C,mBAAmB;gBACnB,MAAM,KAAK,GAAG,IAAI,CAAC,EAAG,CAAC,OAAO,CAAC,qCAAqC,CAAC,CAAC,GAAG,EAAuB,CAAC;gBACjG,IAAI,KAAK,CAAC,KAAK,IAAI,IAAI,CAAC,OAAO,IAAI,CAAC,YAAY,EAAE,CAAC;oBACjD,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;gBACxC,CAAC;gBAED,MAAM,IAAI,GAAe;oBACvB,GAAG,OAAO;oBACV,IAAI;oBACJ,SAAS;oBACT,OAAO;oBACP,MAAM,EAAE,SAAS;oBACjB,SAAS,EAAE,kBAAkB;oBAC7B,aAAa,EAAE,KAAK;iBACrB,CAAC;gBAEF,IAAI,CAAC,EAAG,CAAC,OAAO,CAAC;;;;SAIhB,CAAC,CAAC,GAAG,CACJ,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,QAAQ,IAAI,IAAI,EACrB,IAAI,CAAC,WAAW,IAAI,IAAI,EACxB,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,EACxD,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,SAAS,CACf,CAAC;gBAEF,OAAO,IAAI,CAAC;YACd,CAAC,CAAC,CAAC;YAEH,MAAM,IAAI,GAAG,UAAU,EAAE,CAAC;YAC1B,SAAS;YACT,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;YACrC,OAAO,IAAI,CAAC;QACd,CAAC;QAED,sBAAsB;QACtB,kBAAkB;QAClB,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACrD,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;QACxC,CAAC;QAED,MAAM,IAAI,GAAe;YACvB,GAAG,OAAO;YACV,IAAI;YACJ,SAAS;YACT,OAAO;YACP,MAAM,EAAE,SAAS;YACjB,SAAS,EAAE,kBAAkB;YAC7B,aAAa,EAAE,KAAK;SACrB,CAAC;QAEF,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QACrC,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACH,UAAU,CAAC,QAAgB,EAAE;QAC3B,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;aACnC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC;aACnC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,CAAC;aACzC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;IACrB,CAAC;IAED;;OAEG;IACH,iBAAiB;QACf,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;aACnC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,SAAS,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC;aACvD,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC;IAC/C,CAAC;IAED;;OAEG;IACH,iBAAiB,CAAC,MAAc;QAC9B,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACpC,IAAI,CAAC,IAAI;YAAE,OAAO;QAElB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC1B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAE5B,IAAI,IAAI,CAAC,EAAE,EAAE,CAAC;YACZ,IAAI,CAAC,EAAG,CAAC,OAAO,CAAC;;OAEhB,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QACjC,CAAC;IACH,CAAC;IAED;;OAEG;IACH,cAAc,CAAC,MAAc;QAC3B,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACpC,IAAI,CAAC,IAAI;YAAE,OAAO,SAAS,CAAC;QAE5B,IAAI,CAAC,MAAM,GAAG,YAAY,CAAC;QAC3B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAE5B,IAAI,IAAI,CAAC,EAAE,EAAE,CAAC;YACZ,mBAAmB;YACnB,MAAM,iBAAiB,GAAG,IAAI,CAAC,EAAG,CAAC,WAAW,CAAC,GAAG,EAAE;gBAClD,IAAI,CAAC,EAAG,CAAC,OAAO,CAAC;;SAEhB,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;YACjC,CAAC,CAAC,CAAC;YACH,iBAAiB,EAAE,CAAC;QACtB,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;OAGG;IACH,mBAAmB,CAAC,MAAc;QAChC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACpC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,YAAY;YAAE,OAAO,SAAS,CAAC;QAE5D,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;QACxB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAE5B,IAAI,IAAI,CAAC,EAAE,EAAE,CAAC;YACZ,MAAM,iBAAiB,GAAG,IAAI,CAAC,EAAG,CAAC,WAAW,CAAC,GAAG,EAAE;gBAClD,IAAI,CAAC,EAAG,CAAC,OAAO,CAAC;;SAEhB,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;YACjC,CAAC,CAAC,CAAC;YACH,iBAAiB,EAAE,CAAC;QACtB,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACH,QAAQ,CAAC,MAAc,EAAE,QAAsB;QAC7C,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACpC,IAAI,CAAC,IAAI;YAAE,OAAO,SAAS,CAAC;QAE5B,IAAI,QAAQ,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAClC,IAAI,CAAC,MAAM,GAAG,WAAW,CAAC;YAC1B,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAChC,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC;YACvB,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC;QAC9B,CAAC;QAED,IAAI,CAAC,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC;QAChC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAE5B,IAAI,IAAI,CAAC,EAAE,EAAE,CAAC;YACZ,mBAAmB;YACnB,MAAM,iBAAiB,GAAG,IAAI,CAAC,EAAG,CAAC,WAAW,CAAC,GAAG,EAAE;gBAClD,IAAI,CAAC,EAAG,CAAC,OAAO,CAAC;;;;SAIhB,CAAC,CAAC,GAAG,CACJ,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,EAChD,IAAI,CAAC,KAAK,IAAI,IAAI,EAClB,IAAI,CAAC,OAAO,IAAI,IAAI,EACpB,IAAI,CAAC,SAAS,EACd,MAAM,CACP,CAAC;YACJ,CAAC,CAAC,CAAC;YACH,iBAAiB,EAAE,CAAC;QACtB,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACH,GAAG,CAAC,MAAc;QAChB,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAChC,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,MAAc;QACnB,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAE1C,IAAI,OAAO,IAAI,IAAI,CAAC,EAAE,EAAE,CAAC;YACvB,IAAI,CAAC,EAAG,CAAC,OAAO,CAAC,gCAAgC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACjE,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;OAEG;IACH,QAAQ;QACN,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;QAC9C,OAAO;YACL,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,MAAM;YACzD,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,YAAY,CAAC,CAAC,MAAM;YAC/D,SAAS,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,WAAW,CAAC,CAAC,MAAM;YAC7D,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,MAAM;YACvD,KAAK,EAAE,KAAK,CAAC,MAAM;YACnB,cAAc,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,SAAS,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,MAAM;SACrF,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,MAAM;QACJ,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;IACzC,CAAC;IAED;;;OAGG;IACH,OAAO;QACL,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,MAAM,QAAQ,GAAa,EAAE,CAAC;QAE9B,KAAK,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACpC,MAAM,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC;YAEjC,SAAS;YACT,IAAI,GAAG,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACxB,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACpB,CAAC;QACH,CAAC;QAED,KAAK,MAAM,EAAE,IAAI,QAAQ,EAAE,CAAC;YAC1B,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YACtB,IAAI,IAAI,CAAC,EAAE,EAAE,CAAC;gBACZ,IAAI,CAAC,EAAG,CAAC,OAAO,CAAC,gCAAgC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAC7D,CAAC;QACH,CAAC;QAED,sBAAsB;QACtB,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,GAAG,GAAG,CAAC,CAAC;QACrD,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,aAAa,EAAE,CAAC;YACrC,MAAM,kBAAkB,GAAa,EAAE,CAAC;YAExC,KAAK,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;gBACpC,IAAI,IAAI,CAAC,MAAM,KAAK,WAAW,IAAI,IAAI,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;oBAC5D,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBAC9B,CAAC;YACH,CAAC;YAED,yBAAyB;YACzB,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;gBAC/B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;gBAChC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;gBAChC,OAAO,CAAC,KAAK,EAAE,SAAS,IAAI,KAAK,EAAE,SAAS,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,SAAS,IAAI,KAAK,EAAE,SAAS,IAAI,CAAC,CAAC,CAAC;YACnG,CAAC,CAAC,CAAC;YAEH,gBAAgB;YAChB,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,GAAG,GAAG,CAAC,CAAC;YAClD,MAAM,QAAQ,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,UAAU,CAAC,CAAC,CAAC;YAExF,KAAK,MAAM,EAAE,IAAI,QAAQ,EAAE,CAAC;gBAC1B,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBACtB,IAAI,IAAI,CAAC,EAAE,EAAE,CAAC;oBACZ,IAAI,CAAC,EAAG,CAAC,OAAO,CAAC,gCAAgC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBAC7D,CAAC;YACH,CAAC;YAED,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACxB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,uCAAuC,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;YAC7E,CAAC;QACH,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK;QACH,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QACnB,IAAI,IAAI,CAAC,EAAE,EAAE,CAAC;YACZ,IAAI,CAAC,EAAG,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QACrC,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK;QACH,IAAI,IAAI,CAAC,EAAE,EAAE,CAAC;YACZ,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC;YAChB,IAAI,CAAC,EAAE,GAAG,SAAS,CAAC;QACtB,CAAC;IACH,CAAC;CACF;AAvoBD,8BAuoBC"}
1
+ {"version":3,"file":"task-queue.js","sourceRoot":"","sources":["../src/task-queue.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,7 @@
3
3
  * 工具处理器模块 - 处理 f2a_discover, f2a_delegate 等工具
4
4
  */
5
5
  import type { SessionContext, ToolResult } from './types.js';
6
- import type { F2AOpenClawAdapter } from './connector.js';
6
+ import type { F2APluginPublicInterface } from './types.js';
7
7
  import type { RiskFlag } from '@f2a/network';
8
8
  /**
9
9
  * 工具处理器参数类型
@@ -73,10 +73,22 @@ export interface TaskEstimation {
73
73
  /**
74
74
  * 工具处理器类
75
75
  * 包含所有核心工具的处理逻辑
76
+ *
77
+ * Issue #106: 使用 F2APluginPublicInterface 解除循环依赖
76
78
  */
77
79
  export declare class ToolHandlers {
78
- private adapter;
79
- constructor(adapter: F2AOpenClawAdapter);
80
+ private plugin;
81
+ constructor(plugin: F2APluginPublicInterface);
82
+ /**
83
+ * 类型安全的内部访问 getter
84
+ * 避免在每个方法中重复类型转换
85
+ */
86
+ private get networkClient();
87
+ private get reputationSystem();
88
+ private get taskQueue();
89
+ private get reviewCommittee();
90
+ private get config();
91
+ private get api();
80
92
  /**
81
93
  * 处理 f2a_discover 工具
82
94
  * 发现 F2A 网络中的 Agents
@@ -1 +1 @@
1
- {"version":3,"file":"tool-handlers.d.ts","sourceRoot":"","sources":["../src/tool-handlers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tool-handlers.d.ts","sourceRoot":"","sources":["../src/tool-handlers.ts"],"names":[],"mappings":"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"}