(task: Task)
| 51 | } |
| 52 | |
| 53 | async onTaskCompleted(task: Task): Promise<void> { |
| 54 | const enabled = this.ctx.config.skillEvolution?.enabled ?? DEFAULTS.skillEvolutionEnabled; |
| 55 | const autoEval = this.ctx.config.skillEvolution?.autoEvaluate ?? DEFAULTS.skillAutoEvaluate; |
| 56 | if (!enabled || !autoEval) return; |
| 57 | |
| 58 | if (this.processing) { |
| 59 | this.ctx.log.debug(`SkillEvolver: busy, queuing task ${task.id} (queue=${this.queue.length})`); |
| 60 | this.store.setTaskSkillMeta(task.id, { skillStatus: "queued", skillReason: `排队中,前方还有 ${this.queue.length + 1} 个任务` }); |
| 61 | this.queue.push(task); |
| 62 | return; |
| 63 | } |
| 64 | await this.drain(task); |
| 65 | } |
| 66 | |
| 67 | private async drain(task: Task): Promise<void> { |
| 68 | this.processing = true; |
no test coverage detected