@winspan/claude-forge 0.7.3 → 0.7.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 (112) hide show
  1. package/dist/ai-gateway/index.d.ts.map +1 -1
  2. package/dist/ai-gateway/index.js +30 -9
  3. package/dist/ai-gateway/index.js.map +1 -1
  4. package/dist/ai-gateway/model-selector.d.ts +12 -0
  5. package/dist/ai-gateway/model-selector.d.ts.map +1 -1
  6. package/dist/ai-gateway/model-selector.js +20 -0
  7. package/dist/ai-gateway/model-selector.js.map +1 -1
  8. package/dist/autopilot/task-completion-detector.d.ts +32 -0
  9. package/dist/autopilot/task-completion-detector.d.ts.map +1 -0
  10. package/dist/autopilot/task-completion-detector.js +103 -0
  11. package/dist/autopilot/task-completion-detector.js.map +1 -0
  12. package/dist/daemon/handlers/context-builder.d.ts +8 -7
  13. package/dist/daemon/handlers/context-builder.d.ts.map +1 -1
  14. package/dist/daemon/handlers/context-builder.js +16 -20
  15. package/dist/daemon/handlers/context-builder.js.map +1 -1
  16. package/dist/daemon/handlers/orchestration-context.d.ts +6 -9
  17. package/dist/daemon/handlers/orchestration-context.d.ts.map +1 -1
  18. package/dist/daemon/handlers/stages/01-failure-signal.d.ts +1 -0
  19. package/dist/daemon/handlers/stages/01-failure-signal.d.ts.map +1 -1
  20. package/dist/daemon/handlers/stages/01-failure-signal.js +2 -2
  21. package/dist/daemon/handlers/stages/01-failure-signal.js.map +1 -1
  22. package/dist/daemon/handlers/stages/02-active-intervention.d.ts +1 -0
  23. package/dist/daemon/handlers/stages/02-active-intervention.d.ts.map +1 -1
  24. package/dist/daemon/handlers/stages/02-active-intervention.js +1 -0
  25. package/dist/daemon/handlers/stages/02-active-intervention.js.map +1 -1
  26. package/dist/daemon/handlers/stages/03-init-prompt.d.ts +1 -0
  27. package/dist/daemon/handlers/stages/03-init-prompt.d.ts.map +1 -1
  28. package/dist/daemon/handlers/stages/03-init-prompt.js +2 -2
  29. package/dist/daemon/handlers/stages/03-init-prompt.js.map +1 -1
  30. package/dist/daemon/handlers/stages/04-skill-suggestions.d.ts +1 -0
  31. package/dist/daemon/handlers/stages/04-skill-suggestions.d.ts.map +1 -1
  32. package/dist/daemon/handlers/stages/04-skill-suggestions.js +2 -1
  33. package/dist/daemon/handlers/stages/04-skill-suggestions.js.map +1 -1
  34. package/dist/daemon/handlers/stages/05-conv-config.d.ts +1 -0
  35. package/dist/daemon/handlers/stages/05-conv-config.d.ts.map +1 -1
  36. package/dist/daemon/handlers/stages/05-conv-config.js +1 -0
  37. package/dist/daemon/handlers/stages/05-conv-config.js.map +1 -1
  38. package/dist/daemon/handlers/stages/06-engine-check.d.ts +1 -0
  39. package/dist/daemon/handlers/stages/06-engine-check.d.ts.map +1 -1
  40. package/dist/daemon/handlers/stages/06-engine-check.js +1 -0
  41. package/dist/daemon/handlers/stages/06-engine-check.js.map +1 -1
  42. package/dist/daemon/handlers/stages/07-pipeline-reply.d.ts +1 -0
  43. package/dist/daemon/handlers/stages/07-pipeline-reply.d.ts.map +1 -1
  44. package/dist/daemon/handlers/stages/07-pipeline-reply.js +1 -2
  45. package/dist/daemon/handlers/stages/07-pipeline-reply.js.map +1 -1
  46. package/dist/daemon/handlers/stages/08-esc-interrupt.d.ts +1 -0
  47. package/dist/daemon/handlers/stages/08-esc-interrupt.d.ts.map +1 -1
  48. package/dist/daemon/handlers/stages/08-esc-interrupt.js +1 -0
  49. package/dist/daemon/handlers/stages/08-esc-interrupt.js.map +1 -1
  50. package/dist/daemon/handlers/stages/09-pipeline-active.d.ts +1 -0
  51. package/dist/daemon/handlers/stages/09-pipeline-active.d.ts.map +1 -1
  52. package/dist/daemon/handlers/stages/09-pipeline-active.js +1 -0
  53. package/dist/daemon/handlers/stages/09-pipeline-active.js.map +1 -1
  54. package/dist/daemon/handlers/stages/10-cooldown.d.ts +1 -1
  55. package/dist/daemon/handlers/stages/10-cooldown.d.ts.map +1 -1
  56. package/dist/daemon/handlers/stages/10-cooldown.js +1 -39
  57. package/dist/daemon/handlers/stages/10-cooldown.js.map +1 -1
  58. package/dist/daemon/handlers/stages/11-intent-analysis.d.ts +1 -0
  59. package/dist/daemon/handlers/stages/11-intent-analysis.d.ts.map +1 -1
  60. package/dist/daemon/handlers/stages/11-intent-analysis.js +4 -3
  61. package/dist/daemon/handlers/stages/11-intent-analysis.js.map +1 -1
  62. package/dist/daemon/handlers/stages/12-strategy-advice.d.ts +1 -0
  63. package/dist/daemon/handlers/stages/12-strategy-advice.d.ts.map +1 -1
  64. package/dist/daemon/handlers/stages/12-strategy-advice.js +1 -0
  65. package/dist/daemon/handlers/stages/12-strategy-advice.js.map +1 -1
  66. package/dist/daemon/handlers/stages/13-template-route.d.ts +1 -0
  67. package/dist/daemon/handlers/stages/13-template-route.d.ts.map +1 -1
  68. package/dist/daemon/handlers/stages/13-template-route.js +1 -0
  69. package/dist/daemon/handlers/stages/13-template-route.js.map +1 -1
  70. package/dist/daemon/handlers/stages/14-plan-resume.d.ts +1 -0
  71. package/dist/daemon/handlers/stages/14-plan-resume.d.ts.map +1 -1
  72. package/dist/daemon/handlers/stages/14-plan-resume.js +1 -0
  73. package/dist/daemon/handlers/stages/14-plan-resume.js.map +1 -1
  74. package/dist/daemon/handlers/stages/15-plan-enforcement.d.ts +1 -0
  75. package/dist/daemon/handlers/stages/15-plan-enforcement.d.ts.map +1 -1
  76. package/dist/daemon/handlers/stages/15-plan-enforcement.js +1 -0
  77. package/dist/daemon/handlers/stages/15-plan-enforcement.js.map +1 -1
  78. package/dist/daemon/handlers/stages/16-intervention-level.d.ts +1 -0
  79. package/dist/daemon/handlers/stages/16-intervention-level.d.ts.map +1 -1
  80. package/dist/daemon/handlers/stages/16-intervention-level.js +1 -0
  81. package/dist/daemon/handlers/stages/16-intervention-level.js.map +1 -1
  82. package/dist/daemon/handlers/stages/17-simple-task.d.ts +1 -0
  83. package/dist/daemon/handlers/stages/17-simple-task.d.ts.map +1 -1
  84. package/dist/daemon/handlers/stages/17-simple-task.js +2 -1
  85. package/dist/daemon/handlers/stages/17-simple-task.js.map +1 -1
  86. package/dist/daemon/handlers/stages/18-complex-task.d.ts +1 -0
  87. package/dist/daemon/handlers/stages/18-complex-task.d.ts.map +1 -1
  88. package/dist/daemon/handlers/stages/18-complex-task.js +4 -4
  89. package/dist/daemon/handlers/stages/18-complex-task.js.map +1 -1
  90. package/dist/daemon/handlers/stages/19-moderate-task.d.ts +1 -0
  91. package/dist/daemon/handlers/stages/19-moderate-task.d.ts.map +1 -1
  92. package/dist/daemon/handlers/stages/19-moderate-task.js +3 -2
  93. package/dist/daemon/handlers/stages/19-moderate-task.js.map +1 -1
  94. package/dist/daemon/handlers/stages/stage-interface.d.ts +3 -0
  95. package/dist/daemon/handlers/stages/stage-interface.d.ts.map +1 -1
  96. package/dist/daemon/handlers/stages/stage-scheduler.d.ts +27 -0
  97. package/dist/daemon/handlers/stages/stage-scheduler.d.ts.map +1 -0
  98. package/dist/daemon/handlers/stages/stage-scheduler.js +105 -0
  99. package/dist/daemon/handlers/stages/stage-scheduler.js.map +1 -0
  100. package/dist/daemon/handlers/user-prompt-handler.d.ts +3 -12
  101. package/dist/daemon/handlers/user-prompt-handler.d.ts.map +1 -1
  102. package/dist/daemon/handlers/user-prompt-handler.js +73 -141
  103. package/dist/daemon/handlers/user-prompt-handler.js.map +1 -1
  104. package/dist/pipeline/index.d.ts +0 -5
  105. package/dist/pipeline/index.d.ts.map +1 -1
  106. package/dist/pipeline/index.js +13 -23
  107. package/dist/pipeline/index.js.map +1 -1
  108. package/dist/pipeline/phase-manager.d.ts +5 -1
  109. package/dist/pipeline/phase-manager.d.ts.map +1 -1
  110. package/dist/pipeline/phase-manager.js +36 -1
  111. package/dist/pipeline/phase-manager.js.map +1 -1
  112. package/package.json +1 -1
@@ -3,6 +3,7 @@ import { logger, relPath } from '../../utils/logger.js';
3
3
  import { TemplateRegistry } from '../../pipeline/template-registry.js';
4
4
  import { TemplateRouter } from '../../pipeline/template-router.js';
5
5
  import { StageTraceLogger } from '../../utils/stage-trace.js';
6
+ import { StageScheduler } from './stages/stage-scheduler.js';
6
7
  import { FailureSignalStage } from './stages/01-failure-signal.js';
7
8
  import { ActiveInterventionStage } from './stages/02-active-intervention.js';
8
9
  import { InitPromptStage } from './stages/03-init-prompt.js';
@@ -22,34 +23,32 @@ import { InterventionLevelStage } from './stages/16-intervention-level.js';
22
23
  import { SimpleTaskStage } from './stages/17-simple-task.js';
23
24
  import { ComplexTaskStage } from './stages/18-complex-task.js';
24
25
  import { ModerateTaskStage } from './stages/19-moderate-task.js';
26
+ import { memoryManager } from '../../utils/memory-manager.js';
25
27
  export class UserPromptHandler extends BaseHookHandler {
26
28
  /** 状态缓存 TTL:1 小时后自动清理,防止长期运行内存增长 */
27
29
  static MAX_STATE_AGE_MS = 60 * 60 * 1000;
28
30
  /**
29
31
  * 上一轮是否向用户展示了 pipeline 建议(按 project_path 隔离)
30
- * 条目在 MAX_STATE_AGE_MS 后自动清理,防止长期运行内存增长。
32
+ * 使用 memoryManager 统一管理,自动 TTL 清理。
31
33
  */
32
- suggestionPending = new Map();
33
- suggestionPendingAt = new Map();
34
+ suggestionPending;
34
35
  /**
35
36
  * 意图分析冷却:记录每个项目上次分析的时间戳。
36
37
  * 同一项目 800ms 内的连续 UserPromptSubmit 跳过 AI 分析。
37
38
  */
38
- lastAnalysisAt = new Map();
39
+ lastAnalysisAt;
39
40
  /**
40
41
  * 方案 A:session 级注入去重缓存(按 projectPath 隔离)。
41
42
  * 相同 keywords / decisions 内容在同一 session 内只注入一次。
42
43
  */
43
- injectionCache = new Map();
44
- injectionCacheAt = new Map();
44
+ injectionCache;
45
45
  /** 已处理过负向重启检测的 session(key=sessionId),避免同 session 重复触发 */
46
- negativeRestartChecked = new Set();
47
- negativeRestartCheckedAt = new Map();
46
+ negativeRestartChecked;
47
+ /** 已提示过初始化的 session,避免每条消息都提示(key=sessionId:projectPath) */
48
+ initPromptedSessions;
48
49
  /** Batch 4:统一编排模板注册表 + 路由器 */
49
50
  templateRegistry = null;
50
51
  templateRouter = null;
51
- /** 定时清理任务 */
52
- cleanupTimer;
53
52
  constructor(ctx) {
54
53
  super(ctx);
55
54
  // 初始化模板路由器(仅在 sharedApi 可用时)
@@ -58,60 +57,12 @@ export class UserPromptHandler extends BaseHookHandler {
58
57
  this.templateRegistry.loadUserTemplates();
59
58
  this.templateRouter = new TemplateRouter(ctx.sharedApi);
60
59
  }
61
- // 10 分钟清理一次过期状态
62
- this.cleanupTimer = setInterval(() => this.cleanupStaleState(), 10 * 60 * 1000);
63
- this.cleanupTimer.unref();
64
- }
65
- /** 已提示过初始化的 session,避免每条消息都提示(key=sessionId:projectPath) */
66
- initPromptedSessions = new Set();
67
- /** initPromptedSessions 条目的写入时间,用于 TTL 清理 */
68
- initPromptedAt = new Map();
69
- /** 清理超过 TTL 的状态缓存 */
70
- cleanupStaleState() {
71
- const now = Date.now();
72
- const cutoff = now - UserPromptHandler.MAX_STATE_AGE_MS;
73
- // 清理 suggestionPending
74
- for (const [key, timestamp] of this.suggestionPendingAt.entries()) {
75
- if (timestamp < cutoff) {
76
- this.suggestionPending.delete(key);
77
- this.suggestionPendingAt.delete(key);
78
- }
79
- }
80
- // 清理 lastAnalysisAt(保留最近 800ms 的即可,但为了统一用 1h TTL)
81
- for (const [key, timestamp] of this.lastAnalysisAt.entries()) {
82
- if (timestamp < cutoff) {
83
- this.lastAnalysisAt.delete(key);
84
- }
85
- }
86
- // 清理 injectionCache
87
- for (const [key, timestamp] of this.injectionCacheAt.entries()) {
88
- if (timestamp < cutoff) {
89
- this.injectionCache.delete(key);
90
- this.injectionCacheAt.delete(key);
91
- }
92
- }
93
- // 清理 negativeRestartChecked
94
- for (const [key, timestamp] of this.negativeRestartCheckedAt.entries()) {
95
- if (timestamp < cutoff) {
96
- this.negativeRestartChecked.delete(key);
97
- this.negativeRestartCheckedAt.delete(key);
98
- }
99
- }
100
- // 清理 initPromptedSessions
101
- for (const [key, timestamp] of this.initPromptedAt.entries()) {
102
- if (timestamp < cutoff) {
103
- this.initPromptedSessions.delete(key);
104
- this.initPromptedAt.delete(key);
105
- }
106
- }
107
- const cleaned = {
108
- suggestionPending: this.suggestionPending.size,
109
- lastAnalysisAt: this.lastAnalysisAt.size,
110
- injectionCache: this.injectionCache.size,
111
- negativeRestartChecked: this.negativeRestartChecked.size,
112
- initPromptedSessions: this.initPromptedSessions.size,
113
- };
114
- logger.debug(`[Forge:内存] 状态清理完成,剩余条目:${JSON.stringify(cleaned)}`);
60
+ // 使用 memoryManager 统一管理所有缓存(自动 TTL 清理)
61
+ this.suggestionPending = memoryManager.register('handler:suggestion', { max: 100, ttl: UserPromptHandler.MAX_STATE_AGE_MS });
62
+ this.lastAnalysisAt = memoryManager.register('handler:analysis', { max: 100, ttl: UserPromptHandler.MAX_STATE_AGE_MS });
63
+ this.injectionCache = memoryManager.register('handler:injection', { max: 100, ttl: UserPromptHandler.MAX_STATE_AGE_MS });
64
+ this.negativeRestartChecked = memoryManager.register('handler:restart', { max: 100, ttl: UserPromptHandler.MAX_STATE_AGE_MS });
65
+ this.initPromptedSessions = memoryManager.register('handler:init', { max: 100, ttl: UserPromptHandler.MAX_STATE_AGE_MS });
115
66
  }
116
67
  async handle(event) {
117
68
  const userPrompt = event.tool_input?.user_prompt || '';
@@ -126,20 +77,17 @@ export class UserPromptHandler extends BaseHookHandler {
126
77
  userPrompt,
127
78
  handlerCtx: this.ctx,
128
79
  suggestionPending: this.suggestionPending,
129
- suggestionPendingAt: this.suggestionPendingAt,
130
80
  lastAnalysisAt: this.lastAnalysisAt,
131
81
  injectionCache: this.injectionCache,
132
- injectionCacheAt: this.injectionCacheAt,
133
82
  negativeRestartChecked: this.negativeRestartChecked,
134
- negativeRestartCheckedAt: this.negativeRestartCheckedAt,
135
83
  initPromptedSessions: this.initPromptedSessions,
136
- initPromptedAt: this.initPromptedAt,
137
84
  templateRegistry: this.templateRegistry,
138
85
  templateRouter: this.templateRouter,
139
86
  stageTracer,
140
87
  };
141
- const { sequential1, parallel, sequential2 } = this.createStages();
142
- const allStages = [...sequential1, ...parallel, ...sequential2];
88
+ const allStages = this.createStages();
89
+ const scheduler = new StageScheduler(allStages);
90
+ const batches = scheduler.schedule();
143
91
  const totalStages = allStages.length;
144
92
  const latencyTracer = this.ctx.latencyTracer;
145
93
  /** 执行单个 Stage,处理追踪、降级和关键 Stage 语义 */
@@ -200,84 +148,68 @@ export class UserPromptHandler extends BaseHookHandler {
200
148
  return { terminated: false };
201
149
  }
202
150
  };
203
- // 阶段一:Stage 1-11 串行执行
204
- for (let i = 0; i < sequential1.length; i++) {
205
- const outcome = await runStage(sequential1[i], i + 1);
206
- if (outcome.terminated) {
207
- logger.info(`[Forge:编排] 执行摘要:\n${stageTracer.getSummary()}`);
208
- return outcome.response ?? undefined;
209
- }
210
- if (outcome.skip) {
211
- logger.info(`[Forge:编排] 执行摘要:\n${stageTracer.getSummary()}`);
212
- break;
213
- }
214
- }
215
- // 阶段二:Stage 12-16 并行执行(互相独立,均依赖 Stage 11 的 ctx.analysis)
216
- const parallelStart = sequential1.length + 1;
217
- const parallelResults = await Promise.allSettled(parallel.map((stage, i) => runStage(stage, parallelStart + i)));
218
- // 按优先级顺序检查终止:13→14→15→12→16(terminate 优先级)
219
- const priorityOrder = [1, 2, 3, 0, 4]; // indices within parallel array
220
- for (const idx of priorityOrder) {
221
- const settled = parallelResults[idx];
222
- if (settled?.status === 'fulfilled' && settled.value.terminated) {
223
- logger.info(`[Forge:编排] 执行摘要:\n${stageTracer.getSummary()}`);
224
- return settled.value.response ?? undefined;
225
- }
226
- }
227
- // 检查 skip(跳过剩余)
228
- for (const settled of parallelResults) {
229
- if (settled.status === 'fulfilled' && !settled.value.terminated && settled.value.skip) {
230
- logger.info(`[Forge:编排] 执行摘要:\n${stageTracer.getSummary()}`);
231
- return undefined;
232
- }
233
- }
234
- // 阶段三:Stage 17-19 串行执行
235
- const seq2Start = sequential1.length + parallel.length + 1;
236
- for (let i = 0; i < sequential2.length; i++) {
237
- const outcome = await runStage(sequential2[i], seq2Start + i);
238
- if (outcome.terminated) {
239
- logger.info(`[Forge:编排] 执行摘要:\n${stageTracer.getSummary()}`);
240
- return outcome.response ?? undefined;
151
+ // 按调度器生成的批次执行:批次内并行,批次间串行
152
+ let globalIdx = 0;
153
+ for (const batch of batches) {
154
+ if (batch.length === 1) {
155
+ // 单 Stage 批次:直接串行执行
156
+ const outcome = await runStage(batch[0], ++globalIdx);
157
+ if (outcome.terminated) {
158
+ logger.info(`[Forge:编排] 执行摘要:\n${stageTracer.getSummary()}`);
159
+ return outcome.response ?? undefined;
160
+ }
161
+ if (outcome.skip) {
162
+ logger.info(`[Forge:编排] 执行摘要:\n${stageTracer.getSummary()}`);
163
+ return undefined;
164
+ }
241
165
  }
242
- if (outcome.skip) {
243
- logger.info(`[Forge:编排] 执行摘要:\n${stageTracer.getSummary()}`);
244
- break;
166
+ else {
167
+ // 多 Stage 批次:并行执行,按 Stage 顺序检查终止优先级
168
+ const batchStart = globalIdx + 1;
169
+ globalIdx += batch.length;
170
+ const results = await Promise.allSettled(batch.map((stage, i) => runStage(stage, batchStart + i)));
171
+ // 按 Stage 在批次中的顺序检查终止(保持确定性)
172
+ for (const settled of results) {
173
+ if (settled.status === 'fulfilled' && settled.value.terminated) {
174
+ logger.info(`[Forge:编排] 执行摘要:\n${stageTracer.getSummary()}`);
175
+ return settled.value.response ?? undefined;
176
+ }
177
+ }
178
+ for (const settled of results) {
179
+ if (settled.status === 'fulfilled' && !settled.value.terminated && settled.value.skip) {
180
+ logger.info(`[Forge:编排] 执行摘要:\n${stageTracer.getSummary()}`);
181
+ return undefined;
182
+ }
183
+ }
245
184
  }
246
185
  }
247
186
  logger.info(`[Forge:编排] 完成 | 项目=${proj} | 所有 Stage 通过,无响应`);
248
187
  logger.info(`[Forge:编排] 执行摘要:\n${stageTracer.getSummary()}`);
249
188
  }
250
189
  createStages() {
251
- return {
252
- // Stage 1-11:串行(有依赖链)
253
- sequential1: [
254
- new FailureSignalStage(),
255
- new ActiveInterventionStage(),
256
- new InitPromptStage(),
257
- new SkillSuggestionsStage(),
258
- new ConversationalConfigStage(this.ctx),
259
- new EngineCheckStage(),
260
- new PipelineReplyStage(),
261
- new EscInterruptStage(),
262
- new PipelineActiveStage(),
263
- new CooldownStage(),
264
- new IntentAnalysisStage(),
265
- ],
266
- // Stage 12-16:并行(均依赖 ctx.analysis,互相独立)
267
- parallel: [
268
- new StrategyAdviceStage(), // 12
269
- new TemplateRouteStage(), // 13
270
- new PlanResumeStage(), // 14
271
- new PlanEnforcementStage(), // 15
272
- new InterventionLevelStage(), // 16
273
- ],
274
- // Stage 17-19:串行(依赖并行组输出)
275
- sequential2: [
276
- new SimpleTaskStage(),
277
- new ComplexTaskStage(),
278
- new ModerateTaskStage(),
279
- ],
280
- };
190
+ return [
191
+ new FailureSignalStage(),
192
+ new ActiveInterventionStage(),
193
+ new InitPromptStage(),
194
+ new SkillSuggestionsStage(),
195
+ new ConversationalConfigStage(this.ctx),
196
+ new EngineCheckStage(),
197
+ new PipelineReplyStage(),
198
+ new EscInterruptStage(),
199
+ new PipelineActiveStage(),
200
+ new CooldownStage(),
201
+ new IntentAnalysisStage(),
202
+ // Stage 12-16:依赖 ctx.analysis,互相独立(调度器自动并行)
203
+ new StrategyAdviceStage(),
204
+ new TemplateRouteStage(),
205
+ new PlanResumeStage(),
206
+ new PlanEnforcementStage(),
207
+ new InterventionLevelStage(),
208
+ // Stage 17-19:依赖并行组输出(调度器自动串行)
209
+ new SimpleTaskStage(),
210
+ new ComplexTaskStage(),
211
+ new ModerateTaskStage(),
212
+ ];
281
213
  }
282
214
  }
283
215
  //# sourceMappingURL=user-prompt-handler.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"user-prompt-handler.js","sourceRoot":"","sources":["../../../src/daemon/handlers/user-prompt-handler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"user-prompt-handler.js","sourceRoot":"","sources":["../../../src/daemon/handlers/user-prompt-handler.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AACvE,OAAO,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AACnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAG9D,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,EAAE,uBAAuB,EAAE,MAAM,oCAAoC,CAAC;AAC7E,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAC;AACzE,OAAO,EAAE,yBAAyB,EAAE,MAAM,4BAA4B,CAAC;AACvE,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AACrE,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AACrE,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AACvE,OAAO,EAAE,sBAAsB,EAAE,MAAM,mCAAmC,CAAC;AAC3E,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAG9D,MAAM,OAAO,iBAAkB,SAAQ,eAAe;IACpD,oCAAoC;IAC5B,MAAM,CAAU,gBAAgB,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;IAE1D;;;OAGG;IACK,iBAAiB,CAA4B;IACrD;;;OAGG;IACK,cAAc,CAA2B;IACjD;;;OAGG;IACK,cAAc,CAAmC;IACzD,0DAA0D;IAClD,sBAAsB,CAA4B;IAC1D,4DAA4D;IACpD,oBAAoB,CAA4B;IAExD,8BAA8B;IACtB,gBAAgB,GAA4B,IAAI,CAAC;IACjD,cAAc,GAA0B,IAAI,CAAC;IAErD,YAAY,GAAmB;QAC7B,KAAK,CAAC,GAAG,CAAC,CAAC;QACX,6BAA6B;QAC7B,IAAI,GAAG,CAAC,SAAS,EAAE,CAAC;YAClB,IAAI,CAAC,gBAAgB,GAAG,IAAI,gBAAgB,EAAE,CAAC;YAC/C,IAAI,CAAC,gBAAgB,CAAC,iBAAiB,EAAE,CAAC;YAC1C,IAAI,CAAC,cAAc,GAAG,IAAI,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC1D,CAAC;QAED,uCAAuC;QACvC,IAAI,CAAC,iBAAiB,GAAG,aAAa,CAAC,QAAQ,CAAkB,oBAAoB,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,iBAAiB,CAAC,gBAAgB,EAAE,CAAC,CAAC;QAC9I,IAAI,CAAC,cAAc,GAAG,aAAa,CAAC,QAAQ,CAAiB,kBAAkB,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,iBAAiB,CAAC,gBAAgB,EAAE,CAAC,CAAC;QACxI,IAAI,CAAC,cAAc,GAAG,aAAa,CAAC,QAAQ,CAAyB,mBAAmB,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,iBAAiB,CAAC,gBAAgB,EAAE,CAAC,CAAC;QACjJ,IAAI,CAAC,sBAAsB,GAAG,aAAa,CAAC,QAAQ,CAAkB,iBAAiB,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,iBAAiB,CAAC,gBAAgB,EAAE,CAAC,CAAC;QAChJ,IAAI,CAAC,oBAAoB,GAAG,aAAa,CAAC,QAAQ,CAAkB,cAAc,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,iBAAiB,CAAC,gBAAgB,EAAE,CAAC,CAAC;IAC7I,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,KAAiB;QAC5B,MAAM,UAAU,GAAI,KAAK,CAAC,UAAqC,EAAE,WAAW,IAAI,EAAE,CAAC;QACnF,IAAI,CAAC,UAAU;YAAE,OAAO;QAExB,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QACzC,MAAM,aAAa,GAAG,UAAU,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,MAAM,UAAU,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC;QACpH,MAAM,CAAC,IAAI,CAAC,sBAAsB,IAAI,UAAU,aAAa,GAAG,CAAC,CAAC;QAElE,MAAM,WAAW,GAAG,IAAI,gBAAgB,EAAE,CAAC;QAE3C,MAAM,GAAG,GAA8D;YACrE,KAAK;YACL,UAAU;YACV,UAAU,EAAE,IAAI,CAAC,GAAG;YACpB,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;YACzC,cAAc,EAAE,IAAI,CAAC,cAAc;YACnC,cAAc,EAAE,IAAI,CAAC,cAAc;YACnC,sBAAsB,EAAE,IAAI,CAAC,sBAAsB;YACnD,oBAAoB,EAAE,IAAI,CAAC,oBAAoB;YAC/C,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;YACvC,cAAc,EAAE,IAAI,CAAC,cAAc;YACnC,WAAW;SACZ,CAAC;QAEF,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QACtC,MAAM,SAAS,GAAG,IAAI,cAAc,CAAC,SAAS,CAAC,CAAC;QAChD,MAAM,OAAO,GAAG,SAAS,CAAC,QAAQ,EAAE,CAAC;QACrC,MAAM,WAAW,GAAG,SAAS,CAAC,MAAM,CAAC;QACrC,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC;QAE7C,qCAAqC;QACrC,MAAM,QAAQ,GAAG,KAAK,EACpB,KAAY,EACZ,QAAgB,EACsF,EAAE;YACxG,WAAW,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YACxC,MAAM,MAAM,GAAG,aAAa,CAAC,SAAS,CAAC;gBACrC,UAAU,EAAE,KAAK,CAAC,UAAU;gBAC5B,YAAY,EAAE,KAAK,CAAC,YAAY;gBAChC,UAAU,EAAE,OAAO;gBACnB,WAAW,EAAE,KAAK,CAAC,IAAI;aACxB,CAAC,CAAC;YACH,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;gBACxC,aAAa,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;gBAC9B,IAAI,MAAM,CAAC,eAAe,EAAE,CAAC;oBAC3B,WAAW,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,YAAY,EAAE,CAAC,CAAC;oBACjH,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;oBAChC,MAAM,CAAC,IAAI,CAAC,iBAAiB,QAAQ,IAAI,WAAW,KAAK,KAAK,CAAC,IAAI,QAAQ,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;oBAClH,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC;gBACzD,CAAC;gBACD,IAAI,MAAM,CAAC,aAAa,EAAE,CAAC;oBACzB,WAAW,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC,CAAC;oBAC9E,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;oBAChC,MAAM,CAAC,IAAI,CAAC,iBAAiB,QAAQ,IAAI,WAAW,KAAK,KAAK,CAAC,IAAI,SAAS,CAAC,CAAC;oBAC9E,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;gBAC3C,CAAC;gBACD,WAAW,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;gBAC1E,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBAChC,MAAM,CAAC,KAAK,CAAC,iBAAiB,QAAQ,IAAI,WAAW,KAAK,KAAK,CAAC,IAAI,OAAO,CAAC,CAAC;gBAC7E,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC;YAC/B,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,aAAa,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;gBAC9B,MAAM,MAAM,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBAChE,WAAW,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;gBACtC,MAAM,CAAC,KAAK,CAAC,iBAAiB,QAAQ,IAAI,WAAW,KAAK,KAAK,CAAC,IAAI,SAAS,MAAM,EAAE,CAAC,CAAC;gBACvF,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;oBACnB,IAAI,CAAC;wBACH,MAAM,CAAC,IAAI,CAAC,iBAAiB,QAAQ,IAAI,WAAW,KAAK,KAAK,CAAC,IAAI,SAAS,CAAC,CAAC;wBAC9E,MAAM,cAAc,GAAG,MAAM,KAAK,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;wBACtD,IAAI,cAAc,CAAC,eAAe,EAAE,CAAC;4BACnC,WAAW,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;4BAC9E,MAAM,CAAC,IAAI,CAAC,iBAAiB,QAAQ,IAAI,WAAW,KAAK,KAAK,CAAC,IAAI,YAAY,CAAC,CAAC;4BACjF,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,cAAc,CAAC,QAAQ,EAAE,CAAC;wBACjE,CAAC;wBACD,WAAW,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;wBAC7E,MAAM,CAAC,IAAI,CAAC,iBAAiB,QAAQ,IAAI,WAAW,KAAK,KAAK,CAAC,IAAI,YAAY,CAAC,CAAC;wBACjF,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC;oBAC/B,CAAC;oBAAC,OAAO,WAAW,EAAE,CAAC;wBACrB,MAAM,CAAC,KAAK,CAAC,iBAAiB,QAAQ,IAAI,WAAW,KAAK,KAAK,CAAC,IAAI,SAAS,WAAW,EAAE,CAAC,CAAC;oBAC9F,CAAC;gBACH,CAAC;gBACD,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;oBACnB,MAAM,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;oBAC5C,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;gBAC3C,CAAC;gBACD,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC;YAC/B,CAAC;QACH,CAAC,CAAC;QAEF,0BAA0B;QAC1B,IAAI,SAAS,GAAG,CAAC,CAAC;QAClB,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC5B,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACvB,oBAAoB;gBACpB,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAE,EAAE,EAAE,SAAS,CAAC,CAAC;gBACvD,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;oBACvB,MAAM,CAAC,IAAI,CAAC,qBAAqB,WAAW,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;oBAC7D,OAAO,OAAO,CAAC,QAAQ,IAAI,SAAS,CAAC;gBACvC,CAAC;gBACD,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;oBACjB,MAAM,CAAC,IAAI,CAAC,qBAAqB,WAAW,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;oBAC7D,OAAO,SAAS,CAAC;gBACnB,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,oCAAoC;gBACpC,MAAM,UAAU,GAAG,SAAS,GAAG,CAAC,CAAC;gBACjC,SAAS,IAAI,KAAK,CAAC,MAAM,CAAC;gBAC1B,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,UAAU,CACtC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,KAAK,EAAE,UAAU,GAAG,CAAC,CAAC,CAAC,CACzD,CAAC;gBACF,6BAA6B;gBAC7B,KAAK,MAAM,OAAO,IAAI,OAAO,EAAE,CAAC;oBAC9B,IAAI,OAAO,CAAC,MAAM,KAAK,WAAW,IAAI,OAAO,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC;wBAC/D,MAAM,CAAC,IAAI,CAAC,qBAAqB,WAAW,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;wBAC7D,OAAO,OAAO,CAAC,KAAK,CAAC,QAAQ,IAAI,SAAS,CAAC;oBAC7C,CAAC;gBACH,CAAC;gBACD,KAAK,MAAM,OAAO,IAAI,OAAO,EAAE,CAAC;oBAC9B,IAAI,OAAO,CAAC,MAAM,KAAK,WAAW,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,IAAI,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;wBACtF,MAAM,CAAC,IAAI,CAAC,qBAAqB,WAAW,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;wBAC7D,OAAO,SAAS,CAAC;oBACnB,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAED,MAAM,CAAC,IAAI,CAAC,sBAAsB,IAAI,oBAAoB,CAAC,CAAC;QAC5D,MAAM,CAAC,IAAI,CAAC,qBAAqB,WAAW,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;IAC/D,CAAC;IAEO,YAAY;QAClB,OAAO;YACL,IAAI,kBAAkB,EAAE;YACxB,IAAI,uBAAuB,EAAE;YAC7B,IAAI,eAAe,EAAE;YACrB,IAAI,qBAAqB,EAAE;YAC3B,IAAI,yBAAyB,CAAC,IAAI,CAAC,GAAG,CAAC;YACrC,IAAI,gBAAgB,EAAE;YACtB,IAAI,kBAAkB,EAAE;YACxB,IAAI,iBAAiB,EAAE;YACvB,IAAI,mBAAmB,EAAE;YACzB,IAAI,aAAa,EAAE;YACnB,IAAI,mBAAmB,EAAE;YACzB,4CAA4C;YAC5C,IAAI,mBAAmB,EAAE;YACzB,IAAI,kBAAkB,EAAE;YACxB,IAAI,eAAe,EAAE;YACrB,IAAI,oBAAoB,EAAE;YAC1B,IAAI,sBAAsB,EAAE;YAC5B,+BAA+B;YAC/B,IAAI,eAAe,EAAE;YACrB,IAAI,gBAAgB,EAAE;YACtB,IAAI,iBAAiB,EAAE;SAC1B,CAAC;IACJ,CAAC"}
@@ -17,14 +17,9 @@ export declare class PipelineEngine {
17
17
  private activePipelines;
18
18
  /** 上次注入的指令指纹(pipelineId:phase:completed/total),相同则跳过重复注入 */
19
19
  private lastInstructionKey;
20
- private static readonly MAX_CACHED_PROJECTS;
21
20
  constructor(storage: SQLiteStorage, api: AIProvider);
22
21
  /** 检测到 ESC 中断、等待用户确认意图的项目路径集合 */
23
22
  private interruptedProjects;
24
- /**
25
- * 向 activePipelines 写入时,如果超出上限则淘汰最旧的条目(LRU 策略)
26
- */
27
- private setCached;
28
23
  /**
29
24
  * PreToolUse 处理:如果有活跃 Pipeline,注入阶段指令
30
25
  */
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/pipeline/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/pipeline/index.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,8 @@ import { PipelineReportGenerator } from './report-generator.js';
6
6
  import { PHASE_LABELS } from './types.js';
7
7
  import { logger } from '../utils/logger.js';
8
8
  import { ArtifactManager } from '../utils/artifact-manager.js';
9
+ import { TaskCompletionDetector } from '../autopilot/task-completion-detector.js';
10
+ import { memoryManager } from '../utils/memory-manager.js';
9
11
  export { TemplateRegistry } from './template-registry.js';
10
12
  export { TemplateRouter } from './template-router.js';
11
13
  export class PipelineEngine {
@@ -15,33 +17,21 @@ export class PipelineEngine {
15
17
  api;
16
18
  storage;
17
19
  /** 内存缓存:最多保留 50 个最近访问的项目 pipeline,防止无界增长 */
18
- activePipelines = new Map();
20
+ activePipelines;
19
21
  /** 上次注入的指令指纹(pipelineId:phase:completed/total),相同则跳过重复注入 */
20
- lastInstructionKey = new Map();
21
- static MAX_CACHED_PROJECTS = 50;
22
+ lastInstructionKey;
22
23
  constructor(storage, api) {
23
24
  this.store = new PipelineStore(storage);
24
25
  this.analyzer = new PipelineAnalyzer(api);
25
- this.phaseManager = new PhaseManager(this.store);
26
+ const taskCompletionDetector = new TaskCompletionDetector(api);
27
+ this.phaseManager = new PhaseManager(this.store, taskCompletionDetector);
26
28
  this.api = api;
27
29
  this.storage = storage;
30
+ this.activePipelines = memoryManager.register('pipeline:active', { max: 50 });
31
+ this.lastInstructionKey = memoryManager.register('pipeline:instruction', { max: 50 });
28
32
  }
29
33
  /** 检测到 ESC 中断、等待用户确认意图的项目路径集合 */
30
34
  interruptedProjects = new Map();
31
- /**
32
- * 向 activePipelines 写入时,如果超出上限则淘汰最旧的条目(LRU 策略)
33
- */
34
- setCached(projectPath, pipeline) {
35
- // Map 的迭代顺序是插入顺序;先删再插相当于 touch(移到末尾)
36
- this.activePipelines.delete(projectPath);
37
- this.activePipelines.set(projectPath, pipeline);
38
- if (this.activePipelines.size > PipelineEngine.MAX_CACHED_PROJECTS) {
39
- // 删除最旧(第一个)条目
40
- const oldest = this.activePipelines.keys().next().value;
41
- if (oldest)
42
- this.activePipelines.delete(oldest);
43
- }
44
- }
45
35
  /**
46
36
  * PreToolUse 处理:如果有活跃 Pipeline,注入阶段指令
47
37
  */
@@ -63,7 +53,7 @@ export class PipelineEngine {
63
53
  });
64
54
  logger.info(`[Pipeline] 检测到 ESC 中断(${inProgressCount} 个任务未完成),等待用户确认意图`);
65
55
  }
66
- this.setCached(projectPath, pipeline);
56
+ this.activePipelines.set(projectPath, pipeline);
67
57
  logger.info(`[Pipeline] 已续接:${pipeline.requirement} (${PHASE_LABELS[pipeline.phase]})`);
68
58
  }
69
59
  }
@@ -97,7 +87,7 @@ export class PipelineEngine {
97
87
  completedCount,
98
88
  });
99
89
  }
100
- this.setCached(event.project_path, pipeline);
90
+ this.activePipelines.set(event.project_path, pipeline);
101
91
  }
102
92
  }
103
93
  if (!pipeline || pipeline.phase === 'done')
@@ -167,7 +157,7 @@ export class PipelineEngine {
167
157
  pipeline.tasks = this.store.addTasks(pipeline.id, tasks);
168
158
  }
169
159
  // 缓存
170
- this.setCached(projectPath, pipeline);
160
+ this.activePipelines.set(projectPath, pipeline);
171
161
  // 新 Pipeline 启动时重置质量门禁修复计数(防止旧计数污染)
172
162
  this.phaseManager.resetFixAttempts(pipeline.id);
173
163
  // 生成执行计划文档写到 docs/
@@ -208,7 +198,7 @@ export class PipelineEngine {
208
198
  if (tasks.length > 0) {
209
199
  pipeline.tasks = this.store.addTasks(pipeline.id, tasks);
210
200
  }
211
- this.setCached(projectPath, pipeline);
201
+ this.activePipelines.set(projectPath, pipeline);
212
202
  // 新 Pipeline 启动时重置质量门禁修复计数(防止旧计数污染)
213
203
  this.phaseManager.resetFixAttempts(pipeline.id);
214
204
  // 写入执行计划文档
@@ -316,7 +306,7 @@ export class PipelineEngine {
316
306
  if (reset > 0) {
317
307
  logger.info(`[Pipeline] 用户选择继续:重置 ${reset} 个 in_progress 任务为 pending`);
318
308
  pipeline.tasks = this.store.getTasks(pipeline.id);
319
- this.setCached(projectPath, pipeline);
309
+ this.activePipelines.set(projectPath, pipeline);
320
310
  }
321
311
  this.restorePhaseState(pipeline);
322
312
  this.interruptedProjects.delete(projectPath);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/pipeline/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAChE,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE1C,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAE5C,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAG/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEtD,MAAM,OAAO,cAAc;IACjB,KAAK,CAAgB;IACrB,QAAQ,CAAmB;IAC3B,YAAY,CAAe;IAC3B,GAAG,CAAa;IAChB,OAAO,CAAgB;IAC/B,4CAA4C;IACpC,eAAe,GAAG,IAAI,GAAG,EAAoB,CAAC;IACtD,4DAA4D;IACpD,kBAAkB,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC/C,MAAM,CAAU,mBAAmB,GAAG,EAAE,CAAC;IAEjD,YAAY,OAAsB,EAAE,GAAe;QACjD,IAAI,CAAC,KAAK,GAAG,IAAI,aAAa,CAAC,OAAO,CAAC,CAAC;QACxC,IAAI,CAAC,QAAQ,GAAG,IAAI,gBAAgB,CAAC,GAAG,CAAC,CAAC;QAC1C,IAAI,CAAC,YAAY,GAAG,IAAI,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACjD,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAED,iCAAiC;IACzB,mBAAmB,GAAG,IAAI,GAAG,EAAyE,CAAC;IAE/G;;OAEG;IACK,SAAS,CAAC,WAAmB,EAAE,QAAkB;QACvD,qCAAqC;QACrC,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QACzC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;QAChD,IAAI,IAAI,CAAC,eAAe,CAAC,IAAI,GAAG,cAAc,CAAC,mBAAmB,EAAE,CAAC;YACnE,cAAc;YACd,MAAM,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC;YACxD,IAAI,MAAM;gBAAE,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAClD,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,gBAAgB,CAAC,KAAiB;QACtC,MAAM,WAAW,GAAG,KAAK,CAAC,YAAY,CAAC;QAEvC,iBAAiB;QACjB,IAAI,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QACrD,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,WAAW,CAAC,IAAI,SAAS,CAAC;YAClE,IAAI,QAAQ,EAAE,CAAC;gBACb,oCAAoC;gBACpC,MAAM,eAAe,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,aAAa,CAAC,CAAC,MAAM,CAAC;gBACtF,IAAI,eAAe,GAAG,CAAC,EAAE,CAAC;oBACxB,MAAM,cAAc,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,QAAS,CAAC,KAAK,IAAI,CAAC,CAAC,MAAM,KAAK,WAAW,CAAC,CAAC,MAAM,CAAC;oBAClH,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,WAAW,EAAE;wBACxC,UAAU,EAAE,QAAQ,CAAC,EAAE;wBACvB,KAAK,EAAE,QAAQ,CAAC,KAAK;wBACrB,cAAc;qBACf,CAAC,CAAC;oBACH,MAAM,CAAC,IAAI,CAAC,yBAAyB,eAAe,mBAAmB,CAAC,CAAC;gBAC3E,CAAC;gBACD,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;gBACtC,MAAM,CAAC,IAAI,CAAC,kBAAkB,QAAQ,CAAC,WAAW,KAAK,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC1F,CAAC;QACH,CAAC;QAED,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,KAAK,KAAK,MAAM;YAAE,OAAO,IAAI,CAAC;QAExD,SAAS;QACT,QAAQ,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QAElD,6CAA6C;QAC7C,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,QAAQ,CAAC,EAAE,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC1E,MAAM,QAAQ,GAAG,GAAG,QAAQ,CAAC,EAAE,IAAI,QAAQ,CAAC,KAAK,IAAI,QAAQ,CAAC,SAAS,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;QAC5F,IAAI,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,WAAW,CAAC,KAAK,QAAQ;YAAE,OAAO,IAAI,CAAC;QACvE,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;QAEnD,OAAO,IAAI,CAAC,YAAY,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC;IACzD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,iBAAiB,CAAC,KAAiB,EAAE,WAA+B;QACxE,0CAA0C;QAC1C,IAAI,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QAC5D,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,SAAS,CAAC;YACzE,IAAI,QAAQ,EAAE,CAAC;gBACb,MAAM,eAAe,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,aAAa,CAAC,CAAC,MAAM,CAAC;gBACtF,IAAI,eAAe,GAAG,CAAC,EAAE,CAAC;oBACxB,MAAM,cAAc,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,QAAS,CAAC,KAAK,IAAI,CAAC,CAAC,MAAM,KAAK,WAAW,CAAC,CAAC,MAAM,CAAC;oBAClH,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,KAAK,CAAC,YAAY,EAAE;wBAC/C,UAAU,EAAE,QAAQ,CAAC,EAAE;wBACvB,KAAK,EAAE,QAAQ,CAAC,KAAK;wBACrB,cAAc;qBACf,CAAC,CAAC;gBACL,CAAC;gBACD,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;YAC/C,CAAC;QACH,CAAC;QACD,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,KAAK,KAAK,MAAM;YAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QAErE,SAAS;QACT,QAAQ,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QAElD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,QAAQ,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC;QAErF,IAAI,MAAM,CAAC,cAAc,EAAE,CAAC;YAC1B,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,CAAC,aAAa,EAAE,aAAa,EAAE,MAAM,CAAC,aAAa,EAAE,CAAC;QAC3H,CAAC;QAED,IAAI,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;YACvC,MAAM,cAAc,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAE,SAAS;YAEjD,uBAAuB;YACvB,MAAM,gBAAgB,GAAG,EAAE,GAAG,QAAQ,EAAE,CAAC;YACzC,IAAI,CAAC;gBACH,MAAM,IAAI,sBAAsB,CAAC,QAAQ,CAAC,WAAW,EAAE,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,OAAO,EAAE,gBAAgB,CAAC;qBAC7F,gBAAgB,CAAC,cAAc,EAAE,gBAAgB,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;YAC1E,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,MAAM,CAAC,IAAI,CAAC,gBAAgB,YAAY,CAAC,cAAc,CAAC,kBAAkB,GAAG,EAAE,CAAC,CAAC;gBACjF,OAAO;oBACL,OAAO,EAAE,IAAI;oBACb,cAAc,EAAE,IAAI;oBACpB,aAAa,EAAE,CAAC,UAAU,YAAY,CAAC,cAAc,CAAC,WAAW,GAAG,EAAE,CAAC;oBACvE,aAAa,EAAE,kBAAkB,YAAY,CAAC,cAAc,CAAC;;KAElE,GAAG;;0CAEkC;iBACjC,CAAC;YACJ,CAAC;YAED,QAAQ,CAAC,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC;YACjC,2BAA2B;YAC3B,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;YAEnD,IAAI,MAAM,CAAC,QAAQ,KAAK,MAAM,EAAE,CAAC;gBAC/B,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;gBAEhD,gBAAgB;gBAChB,IAAI,aAAa,GAAG,iCAAiC,QAAQ,CAAC,WAAW,EAAE,CAAC;gBAC5E,IAAI,WAAW,EAAE,CAAC;oBAChB,IAAI,CAAC;wBACH,MAAM,eAAe,GAAG,IAAI,uBAAuB,CAAC,WAAW,CAAC,eAAe,EAAE,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;wBACtG,MAAM,QAAQ,GAAG,eAAe,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;wBACpD,eAAe,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;wBACxD,aAAa,GAAG,GAAG,aAAa,OAAO,QAAQ,EAAE,CAAC;oBACpD,CAAC;oBAAC,OAAO,GAAG,EAAE,CAAC;wBACb,MAAM,CAAC,IAAI,CAAC,uBAAuB,GAAG,EAAE,CAAC,CAAC;oBAC5C,CAAC;gBACH,CAAC;gBAED,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC;YACpC,CAAC;YAED,OAAO,EAAE,OAAO,EAAE,yBAAyB,YAAY,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,CAAC;QAC9G,CAAC;QAED,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAC3B,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,aAAa,CAAC,WAAmB,EAAE,WAAmB,EAAE,SAAiB;QAC7E,MAAM,CAAC,IAAI,CAAC,mBAAmB,WAAW,GAAG,CAAC,CAAC;QAE/C,sBAAsB;QACtB,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,aAAa,EAAE,cAAc,EAAE,SAAS,EAAE,GACxF,MAAM,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;QAE1D,cAAc;QACd,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CACxC,WAAW,EAAE,WAAW,EAAE,SAAS,EAAE,SAAS,EAC9C,UAAU,EAAE,QAAQ,EAAE,aAAa,EAAE,cAAc,EAAE,SAAS,CAC/D,CAAC;QAEF,OAAO;QACP,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACrB,QAAQ,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;QAC3D,CAAC;QAED,KAAK;QACL,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;QACtC,oCAAoC;QACpC,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QAEhD,mBAAmB;QACnB,IAAI,CAAC;YACH,MAAM,eAAe,GAAG,IAAI,eAAe,CAAC,WAAW,CAAC,CAAC;YACzD,MAAM,MAAM,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACxE,MAAM,SAAS,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CACvC,MAAM,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAChG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACb,MAAM,WAAW,GAAG,oBAAoB,WAAW,eAAe,UAAU,aAAa,QAAQ,gBAAgB,MAAM,OAAO,SAAS,CAAC,CAAC,CAAC,YAAY,SAAS,MAAM,CAAC,CAAC,CAAC,EAAE,cAAc,SAAS,IAAI,CAAC;YACtM,eAAe,CAAC,aAAa,CAAC,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC;QAClG,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,CAAC,IAAI,CAAC,yBAAyB,GAAG,EAAE,CAAC,CAAC;QAC9C,CAAC;QAED,MAAM,CAAC,IAAI,CAAC,oBAAoB,QAAQ,CAAC,KAAK,CAAC,MAAM,SAAS,UAAU,IAAI,QAAQ,KAAK,aAAa,CAAC,MAAM,MAAM,CAAC,CAAC;QACrH,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,yBAAyB,CAC7B,WAAmB,EACnB,WAAmB,EACnB,SAAiB,EACjB,QAA0B;QAE1B,MAAM,CAAC,IAAI,CAAC,qBAAqB,WAAW,UAAU,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAC;QAErE,cAAc;QACd,MAAM,WAAW,GAAG,QAAQ,CAAC,MAAM;aAChC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACd,MAAM,CAAC,CAAC,EAAE,EAA4C,EAAE,CACvD,CAAC,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CACxE,CAAC;QAEJ,MAAM,aAAa,GAAG,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAE,CAAC,MAAM,EAAE,MAAM,CAA0C,CAAC;QAExH,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CACxC,WAAW,EAAE,WAAW,EAAE,SAAS,EACnC,SAAS,EACT,UAAU,EACV,OAAO,EACP,aAAa,EACb,SAAS,EACT,QAAQ,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,EAAE,GAAG,CACxC,CAAC;QAEF,YAAY;QACZ,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAC1C,KAAK,EAAE,KAAK,CAAC,IAAI;YACjB,KAAK,EAAE,CAAC,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAwC,CAAC;gBAC1E,CAAC,CAAC,KAAK,CAAC,EAAE;gBACV,CAAC,CAAC,MAAM,CAAuC;YACjD,MAAM,EAAE,SAAkB;YAC1B,WAAW,EAAE,KAAK,CAAC,YAAY;YAC/B,YAAY,EAAE,EAAc;SAC7B,CAAC,CAAC,CAAC;QAEJ,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACrB,QAAQ,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;QAC3D,CAAC;QAED,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;QACtC,oCAAoC;QACpC,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QAEhD,WAAW;QACX,IAAI,CAAC;YACH,MAAM,eAAe,GAAG,IAAI,eAAe,CAAC,WAAW,CAAC,CAAC;YACzD,MAAM,MAAM,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACxE,MAAM,SAAS,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CACvC,MAAM,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAChG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACb,MAAM,WAAW,GAAG,0BAA0B,WAAW,cAAc,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,EAAE,iBAAiB,MAAM,kBAAkB,SAAS,IAAI,CAAC;YAC1J,eAAe,CAAC,aAAa,CAAC,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC;QAClG,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,CAAC,IAAI,CAAC,2BAA2B,GAAG,EAAE,CAAC,CAAC;QAChD,CAAC;QAED,MAAM,CAAC,IAAI,CAAC,yBAAyB,QAAQ,CAAC,KAAK,CAAC,MAAM,MAAM,CAAC,CAAC;QAClE,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;OAEG;IACH,iBAAiB,CAAC,WAAmB;QACnC,IAAI,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,WAAW,CAAC;YAAE,OAAO,IAAI,CAAC;QACvD,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;QACrD,OAAO,EAAE,KAAK,IAAI,CAAC;IACrB,CAAC;IAED;;OAEG;IACH,gBAAgB,CAAC,WAAmB;QAClC,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;QACpG,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,KAAK,KAAK,MAAM;YAAE,OAAO,IAAI,CAAC;QAExD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QAC/C,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,WAAW,CAAC,CAAC,MAAM,CAAC;QAEhE,OAAO,gBAAgB,QAAQ,CAAC,WAAW;KAC1C,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,IAAI,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;IAC/D,CAAC;IAED;;OAEG;IACH,kBAAkB,CAAC,WAAmB;QACpC,4BAA4B;QAC5B,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;QAC3D,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,KAAK,KAAK,MAAM;YAAE,OAAO,IAAI,CAAC;QACxD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QAC/C,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,WAAW,CAAC,CAAC,MAAM,CAAC;QACrE,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,QAAQ,CAAC,EAAE,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC3E,MAAM,GAAG,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAE9E,OAAO;QACP,MAAM,aAAa,GAAG,QAAQ,CAAC,aAAa,IAAI,CAAC,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAoB,CAAC;QACnH,MAAM,UAAU,GAAG,aAAa,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACzD,MAAM,SAAS,GAAG,UAAU,IAAI,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7E,MAAM,SAAS,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC;YACpC,CAAC,CAAC,SAAS,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;YAC1D,CAAC,CAAC,EAAE,CAAC;QAEP,MAAM,OAAO,GAAG,QAAQ,CAAC,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC;QACrF,OAAO,YAAY,OAAO,MAAM,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,SAAS,CAAC,SAAS,IAAI,SAAS,CAAC,KAAK,SAAS,OAAO,IAAI,KAAK,CAAC,MAAM,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;IACpK,CAAC;IAED;;OAEG;IACH,eAAe;QACb,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAED;;OAEG;IACH,2BAA2B,CAAC,WAAmB;QAC7C,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;IAC5F,CAAC;IAED;;;;OAIG;IACK,iBAAiB,CAAC,QAAkB;QAC1C,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC;QAC7B,IAAI,KAAK,KAAK,MAAM;YAAE,OAAO;QAE7B,MAAM,GAAG,GAAG,GAAG,QAAQ,CAAC,EAAE,IAAI,KAAK,EAAE,CAAC;QACtC,MAAM,cAAc,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,KAAK,IAAI,CAAC,CAAC,MAAM,KAAK,WAAW,CAAC,CAAC,MAAM,CAAC;QAExG,qDAAqD;QACrD,IAAI,cAAc,GAAG,CAAC,EAAE,CAAC;YACvB,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,GAAG,EAAE,IAAI,GAAG,CAAC,CAAC,SAAS,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;QACjF,CAAC;QAED,kCAAkC;QAClC,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,GAAG,EAAE,cAAc,GAAG,CAAC,CAAC,CAAC;QAE7D,MAAM,CAAC,KAAK,CAAC,qBAAqB,KAAK,UAAU,cAAc,EAAE,CAAC,CAAC;IACrE,CAAC;IAED;;OAEG;IACH,mBAAmB,CAAC,WAAmB;QACrC,OAAO,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,IAAI,CAAC;IAC3D,CAAC;IAED;;OAEG;IACH,oBAAoB,CAAC,WAAmB;QACtC,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;QACpG,IAAI,CAAC,QAAQ;YAAE,OAAO;QAEtB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QAC3D,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;YACd,MAAM,CAAC,IAAI,CAAC,wBAAwB,KAAK,4BAA4B,CAAC,CAAC;YACvE,QAAQ,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YAClD,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;QACxC,CAAC;QACD,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;QACjC,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QAC7C,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,aAAa;IAC5D,CAAC;IAED;;OAEG;IACH,oBAAoB,CAAC,WAAmB;QACtC,MAAM,WAAW,GAAG,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QAC9D,IAAI,WAAW,EAAE,CAAC;YAChB,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;YAC7C,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;YACzC,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;YAC5C,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;YAC7C,MAAM,CAAC,IAAI,CAAC,8BAA8B,WAAW,CAAC,UAAU,MAAM,CAAC,CAAC;QAC1E,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,aAAa,CAAC,eAAuB,EAAE,IAAI,GAAG,KAAK;QACjD,IAAI,IAAI,EAAE,CAAC;YACT,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC;YACtC,mBAAmB;YACnB,KAAK,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;gBAC5C,IAAI,CAAC,CAAC,EAAE,KAAK,eAAe,EAAE,CAAC;oBAC7B,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;oBACjC,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;oBACpC,MAAM;gBACR,CAAC;YACH,CAAC;QACH,CAAC;aAAM,CAAC;YACN,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,eAAe,CAAC,CAAC;YAC/D,IAAI,QAAQ;gBAAE,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YAChD,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;YAC7C,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;QAClD,CAAC;QACD,MAAM,CAAC,IAAI,CAAC,oBAAoB,eAAe,EAAE,CAAC,CAAC;IACrD,CAAC;IAED;;;OAGG;IACH,cAAc,CAAC,KAAK,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI;QACvC,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QAC9C,IAAI,MAAM,GAAG,CAAC,EAAE,CAAC;YACf,MAAM,CAAC,IAAI,CAAC,oBAAoB,MAAM,oBAAoB,KAAK,GAAG,KAAK,SAAS,CAAC,CAAC;YAClF,cAAc;YACd,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;YAC7B,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE,CAAC;QAClC,CAAC;IACH,CAAC;IAED,oCAAoC;IACpC,UAAU;QACR,OAAO,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC;IACjC,CAAC;IAED;;OAEG;IACH,iBAAiB,CAAC,WAAmB;QACnC,OAAO,IAAI,CAAC,2BAA2B,CAAC,WAAW,CAAC,CAAC;IACvD,CAAC;IAED;;OAEG;IACH,wBAAwB,CAAC,WAAmB;QAC1C,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;QACpG,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,KAAK,KAAK,MAAM;YAAE,OAAO,IAAI,CAAC;QAExD,OAAO,IAAI,CAAC,YAAY,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC;IACzD,CAAC;IAED;;OAEG;IACH,eAAe,CAAC,WAAmB;QACjC,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;QACpG,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,KAAK,KAAK,MAAM;YAAE,OAAO,IAAI,CAAC;QAExD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QAC/C,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,QAAQ,CAAC,EAAE,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC/E,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,QAAQ,CAAC,KAAK,CAAC,CAAC;QAEjE,MAAM,KAAK,GAAa,EAAE,CAAC;QAC3B,KAAK,CAAC,IAAI,CAAC,QAAQ,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,aAAa,CAAC,SAAS,IAAI,aAAa,CAAC,KAAK,GAAG,CAAC,CAAC;QAEvG,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;YAC9B,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,KAAK,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;YAC7F,KAAK,CAAC,IAAI,CAAC,KAAK,MAAM,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;QAC1C,CAAC;QAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAED;;OAEG;IACH,eAAe,CAAC,WAAmB;QACjC,MAAM,QAAQ,GAAG,IAAI,CAAC,2BAA2B,CAAC,WAAW,CAAC,CAAC;QAC/D,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,KAAK,KAAK,MAAM;YAAE,OAAO,SAAS,CAAC;QAC7D,OAAO,QAAQ,CAAC,KAAK,CAAC;IACxB,CAAC;IAED;;OAEG;IACH,kBAAkB,CAAC,UAAkB;QACnC,OAAO,IAAI,CAAC,YAAY,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC;IAC1D,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/pipeline/index.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,9 @@ import type { Pipeline, PipelinePhase } from './types.js';
3
3
  import { PipelineStore } from './store.js';
4
4
  import type { QualityGateEngine } from '../autopilot/quality-gate.js';
5
5
  import type { PhaseSnapshot } from '../retrospective/types.js';
6
+ import type { TaskCompletionDetector } from '../autopilot/task-completion-detector.js';
6
7
  export declare class PhaseManager {
8
+ private taskCompletionDetector?;
7
9
  private store;
8
10
  private knowledgeContext;
9
11
  private totalPhaseEventCounts;
@@ -11,8 +13,10 @@ export declare class PhaseManager {
11
13
  private phaseFixAttempts;
12
14
  /** 追踪每个 pipeline:phase 的 Write/Edit 调用次数 */
13
15
  private phaseWriteEditCounts;
16
+ /** 追踪每个 pipeline:phase 最近 5 次工具调用 */
17
+ private recentTools;
14
18
  private static readonly MAX_FIX_ATTEMPTS;
15
- constructor(store: PipelineStore);
19
+ constructor(store: PipelineStore, taskCompletionDetector?: TaskCompletionDetector | undefined);
16
20
  /**
17
21
  * 注入知识库内容到特定 Pipeline
18
22
  */
@@ -1 +1 @@
1
- {"version":3,"file":"phase-manager.d.ts","sourceRoot":"","sources":["../../src/pipeline/phase-manager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAgB,MAAM,YAAY,CAAC;AAExE,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAG3C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACtE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAE/D,qBAAa,YAAY;IACvB,OAAO,CAAC,KAAK,CAAgB;IAC7B,OAAO,CAAC,gBAAgB,CAA+F;IACvH,OAAO,CAAC,qBAAqB,CAAiG;IAC9H,OAAO,CAAC,cAAc,CAAoG;IAC1H,OAAO,CAAC,gBAAgB,CAAiG;IACzH,4CAA4C;IAC5C,OAAO,CAAC,oBAAoB,CAAqG;IAEjI,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAK;gBAEjC,KAAK,EAAE,aAAa;IAIhC;;OAEG;IACH,mBAAmB,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI;IAIhE;;OAEG;IACH,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,IAAI;IAIvD;;OAEG;IACH,iBAAiB,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAInD;;OAEG;IACH,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IAQ1C;;OAEG;IACH,mBAAmB,CAAC,QAAQ,EAAE,QAAQ,GAAG,MAAM;IAqD/C;;OAEG;IACG,eAAe,CAAC,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,WAAW,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC;QAAE,QAAQ,EAAE,OAAO,CAAC;QAAC,QAAQ,CAAC,EAAE,aAAa,CAAC;QAAC,cAAc,CAAC,EAAE,OAAO,CAAC;QAAC,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;QAAC,aAAa,CAAC,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAqLxP,oCAAoC;IACpC,OAAO,CAAC,yBAAyB;IAejC,OAAO,CAAC,iBAAiB;IAqCzB;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAkE5B;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAkB1B;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAgCzB;;OAEG;IACH,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG,aAAa,EAAE;CAuBxD"}
1
+ {"version":3,"file":"phase-manager.d.ts","sourceRoot":"","sources":["../../src/pipeline/phase-manager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAgB,MAAM,YAAY,CAAC;AAExE,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAG3C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACtE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,0CAA0C,CAAC;AAEvF,qBAAa,YAAY;IAerB,OAAO,CAAC,sBAAsB,CAAC;IAdjC,OAAO,CAAC,KAAK,CAAgB;IAC7B,OAAO,CAAC,gBAAgB,CAA+F;IACvH,OAAO,CAAC,qBAAqB,CAAiG;IAC9H,OAAO,CAAC,cAAc,CAAoG;IAC1H,OAAO,CAAC,gBAAgB,CAAiG;IACzH,4CAA4C;IAC5C,OAAO,CAAC,oBAAoB,CAAqG;IACjI,qCAAqC;IACrC,OAAO,CAAC,WAAW,CAAmG;IAEtH,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAK;gBAG3C,KAAK,EAAE,aAAa,EACZ,sBAAsB,CAAC,EAAE,sBAAsB,YAAA;IAKzD;;OAEG;IACH,mBAAmB,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI;IAIhE;;OAEG;IACH,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,IAAI;IAIvD;;OAEG;IACH,iBAAiB,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAInD;;OAEG;IACH,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IAQ1C;;OAEG;IACH,mBAAmB,CAAC,QAAQ,EAAE,QAAQ,GAAG,MAAM;IAqD/C;;OAEG;IACG,eAAe,CAAC,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,WAAW,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC;QAAE,QAAQ,EAAE,OAAO,CAAC;QAAC,QAAQ,CAAC,EAAE,aAAa,CAAC;QAAC,cAAc,CAAC,EAAE,OAAO,CAAC;QAAC,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;QAAC,aAAa,CAAC,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAqNxP,oCAAoC;IACpC,OAAO,CAAC,yBAAyB;IAejC,OAAO,CAAC,iBAAiB;IAqCzB;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAkE5B;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAkB1B;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAgCzB;;OAEG;IACH,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG,aAAa,EAAE;CAuBxD"}
@@ -2,6 +2,7 @@ import { PHASE_LABELS, nextPhase } from './types.js';
2
2
  import { logger } from '../utils/logger.js';
3
3
  import { memoryManager } from '../utils/memory-manager.js';
4
4
  export class PhaseManager {
5
+ taskCompletionDetector;
5
6
  store;
6
7
  knowledgeContext = memoryManager.register('phase:knowledge', { max: 100, ttl: 24 * 3600_000 });
7
8
  totalPhaseEventCounts = memoryManager.register('phase:eventCounts', { max: 100, ttl: 24 * 3600_000 });
@@ -9,8 +10,11 @@ export class PhaseManager {
9
10
  phaseFixAttempts = memoryManager.register('phase:fixAttempts', { max: 100, ttl: 24 * 3600_000 });
10
11
  /** 追踪每个 pipeline:phase 的 Write/Edit 调用次数 */
11
12
  phaseWriteEditCounts = memoryManager.register('phase:writeEditCounts', { max: 100, ttl: 24 * 3600_000 });
13
+ /** 追踪每个 pipeline:phase 最近 5 次工具调用 */
14
+ recentTools = memoryManager.register('phase:recentTools', { max: 100, ttl: 24 * 3600_000 });
12
15
  static MAX_FIX_ATTEMPTS = 3;
13
- constructor(store) {
16
+ constructor(store, taskCompletionDetector) {
17
+ this.taskCompletionDetector = taskCompletionDetector;
14
18
  this.store = store;
15
19
  }
16
20
  /**
@@ -127,6 +131,37 @@ export class PhaseManager {
127
131
  const writeEditCount = this.phaseWriteEditCounts.get(writeEditKey) || 0;
128
132
  this.phaseWriteEditCounts.set(writeEditKey, writeEditCount + 1);
129
133
  }
134
+ // 追踪最近 5 次工具调用(供 TaskCompletionDetector 使用)
135
+ const recentKey = `${pipeline.id}:${phase}`;
136
+ const recent = this.recentTools.get(recentKey) || [];
137
+ recent.push(toolName);
138
+ if (recent.length > 5)
139
+ recent.shift();
140
+ this.recentTools.set(recentKey, recent);
141
+ // LLM 语义检测:在达到阈值前尝试智能判断是否完成
142
+ if (this.taskCompletionDetector && progress.completed > 0 && progress.completed < progress.total && phaseEventCount + 1 >= Math.floor(activityThreshold * 0.7)) {
143
+ try {
144
+ const detectionResult = await this.taskCompletionDetector.detect({
145
+ requirement: pipeline.requirement,
146
+ currentPhase: phase,
147
+ recentTools: recent,
148
+ toolCallCount: phaseEventCount + 1,
149
+ completedTaskCount: progress.completed,
150
+ totalTaskCount: progress.total,
151
+ });
152
+ if (detectionResult.isComplete && detectionResult.confidence !== 'low') {
153
+ logger.info(`[Pipeline] LLM 检测到 ${PHASE_LABELS[phase]} 阶段已完成(${detectionResult.confidence}),提前推进`);
154
+ const remaining = pipeline.tasks.filter(t => t.phase === phase && t.status !== 'completed');
155
+ for (const t of remaining) {
156
+ this.store.updateTaskStatus(t.id, 'completed', `LLM 检测完成:${detectionResult.reason}`);
157
+ }
158
+ }
159
+ }
160
+ catch (err) {
161
+ logger.warn(`[Pipeline] LLM 任务完成检测失败,降级到阈值逻辑:${err}`);
162
+ }
163
+ }
164
+ // 兜底推进:活动阈值强制完成(LLM 检测失败或未启用时的保底机制)
130
165
  if (progress.completed > 0 && progress.completed < progress.total && phaseEventCount + 1 >= activityThreshold) {
131
166
  logger.info(`[Pipeline] 活动阈值(${activityThreshold})已达到,强制完成 ${PHASE_LABELS[phase]} 阶段剩余任务`);
132
167
  const remaining = pipeline.tasks.filter(t => t.phase === phase && t.status !== 'completed');