@winspan/claude-forge 2.7.0 → 2.7.2

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 (78) hide show
  1. package/README.md +2 -2
  2. package/dist/backup/index.d.ts +2 -2
  3. package/dist/backup/index.d.ts.map +1 -1
  4. package/dist/backup/index.js +5 -7
  5. package/dist/backup/index.js.map +1 -1
  6. package/dist/claudemd/writer.d.ts +1 -0
  7. package/dist/claudemd/writer.d.ts.map +1 -1
  8. package/dist/claudemd/writer.js +12 -0
  9. package/dist/claudemd/writer.js.map +1 -1
  10. package/dist/convention/convention-manager.d.ts +2 -4
  11. package/dist/convention/convention-manager.d.ts.map +1 -1
  12. package/dist/convention/convention-manager.js +6 -25
  13. package/dist/convention/convention-manager.js.map +1 -1
  14. package/dist/daemon/handlers/post-tool-use-handler.d.ts.map +1 -1
  15. package/dist/daemon/handlers/post-tool-use-handler.js +2 -1
  16. package/dist/daemon/handlers/post-tool-use-handler.js.map +1 -1
  17. package/dist/daemon/handlers/pre-tool-use-handler.d.ts.map +1 -1
  18. package/dist/daemon/handlers/pre-tool-use-handler.js +18 -48
  19. package/dist/daemon/handlers/pre-tool-use-handler.js.map +1 -1
  20. package/dist/daemon/handlers/stages/13-template-route.js +2 -2
  21. package/dist/daemon/handlers/stages/13-template-route.js.map +1 -1
  22. package/dist/daemon/handlers/stages/18-complex-task.d.ts.map +1 -1
  23. package/dist/daemon/handlers/stages/18-complex-task.js +11 -3
  24. package/dist/daemon/handlers/stages/18-complex-task.js.map +1 -1
  25. package/dist/pipeline/artifact-generator.d.ts +5 -1
  26. package/dist/pipeline/artifact-generator.d.ts.map +1 -1
  27. package/dist/pipeline/artifact-generator.js +5 -1
  28. package/dist/pipeline/artifact-generator.js.map +1 -1
  29. package/dist/pipeline/artifact-validator.d.ts.map +1 -1
  30. package/dist/pipeline/artifact-validator.js +9 -0
  31. package/dist/pipeline/artifact-validator.js.map +1 -1
  32. package/dist/pipeline/completion-detector.d.ts.map +1 -1
  33. package/dist/pipeline/completion-detector.js +10 -0
  34. package/dist/pipeline/completion-detector.js.map +1 -1
  35. package/dist/pipeline/completion-gate.d.ts +56 -0
  36. package/dist/pipeline/completion-gate.d.ts.map +1 -0
  37. package/dist/pipeline/completion-gate.js +165 -0
  38. package/dist/pipeline/completion-gate.js.map +1 -0
  39. package/dist/pipeline/dynamic-node-executor.d.ts +7 -6
  40. package/dist/pipeline/dynamic-node-executor.d.ts.map +1 -1
  41. package/dist/pipeline/dynamic-node-executor.js +116 -185
  42. package/dist/pipeline/dynamic-node-executor.js.map +1 -1
  43. package/dist/pipeline/dynamic-node-types.d.ts +2 -0
  44. package/dist/pipeline/dynamic-node-types.d.ts.map +1 -1
  45. package/dist/pipeline/execution-plan-builder.d.ts +20 -0
  46. package/dist/pipeline/execution-plan-builder.d.ts.map +1 -0
  47. package/dist/pipeline/execution-plan-builder.js +100 -0
  48. package/dist/pipeline/execution-plan-builder.js.map +1 -0
  49. package/dist/pipeline/execution-plan.d.ts +64 -0
  50. package/dist/pipeline/execution-plan.d.ts.map +1 -0
  51. package/dist/pipeline/execution-plan.js +57 -0
  52. package/dist/pipeline/execution-plan.js.map +1 -0
  53. package/dist/pipeline/i-node-executor.d.ts +2 -0
  54. package/dist/pipeline/i-node-executor.d.ts.map +1 -1
  55. package/dist/pipeline/index.d.ts +17 -8
  56. package/dist/pipeline/index.d.ts.map +1 -1
  57. package/dist/pipeline/index.js +119 -149
  58. package/dist/pipeline/index.js.map +1 -1
  59. package/dist/pipeline/optimized-aggregator.d.ts.map +1 -1
  60. package/dist/pipeline/optimized-aggregator.js +1 -1
  61. package/dist/pipeline/optimized-aggregator.js.map +1 -1
  62. package/dist/pipeline/types.d.ts +1 -0
  63. package/dist/pipeline/types.d.ts.map +1 -1
  64. package/dist/pipeline/types.js.map +1 -1
  65. package/dist/storage/repositories/dynamic-pipeline-repository.d.ts.map +1 -1
  66. package/dist/storage/repositories/dynamic-pipeline-repository.js +11 -23
  67. package/dist/storage/repositories/dynamic-pipeline-repository.js.map +1 -1
  68. package/dist/utils/forge-resume-block.d.ts +2 -1
  69. package/dist/utils/forge-resume-block.d.ts.map +1 -1
  70. package/dist/utils/forge-resume-block.js +16 -2
  71. package/dist/utils/forge-resume-block.js.map +1 -1
  72. package/dist/utils/mutex-lock.d.ts +1 -0
  73. package/dist/utils/mutex-lock.d.ts.map +1 -1
  74. package/dist/utils/mutex-lock.js +13 -0
  75. package/dist/utils/mutex-lock.js.map +1 -1
  76. package/dist/web-static/assets/{index-nmYJCpsl.js → index-C9F94O8p.js} +1 -1
  77. package/dist/web-static/index.html +1 -1
  78. package/package.json +1 -1
@@ -9,13 +9,12 @@
9
9
  */
10
10
  import { NodeTypeRegistry } from './node-type-registry.js';
11
11
  import { ArtifactCollector } from './artifact-collector.js';
12
- import { ArtifactValidator } from './artifact-validator.js';
13
- import { CompletionEngine } from './completion-engine.js';
14
12
  import { SemanticValidator } from './semantic-validator.js';
15
13
  import { StepOrchestrator } from './step-orchestrator.js';
16
14
  import { StepPromptBuilder } from './step-prompt-builder.js';
17
15
  import { StepValidator } from './step-validator.js';
18
16
  import { StepGateKeeper as StepGateKeeperImpl } from './step-gate-keeper.js';
17
+ import { CompletionGate } from './completion-gate.js';
19
18
  import { logger } from '../utils/logger.js';
20
19
  import { memoryManager } from '../utils/memory-manager.js';
21
20
  import { CACHE, TIME } from '../constants.js';
@@ -48,9 +47,8 @@ export class DynamicNodeExecutor {
48
47
  /** 连续非写入工具调用超过此阈值时触发强制门禁 */
49
48
  static CONSECUTIVE_NON_WRITE_BLOCK = 20;
50
49
  artifactCollector = new ArtifactCollector();
51
- artifactValidator = new ArtifactValidator();
52
- completionEngine = new CompletionEngine();
53
50
  semanticValidator = null;
51
+ completionGate;
54
52
  stepOrchestrator = new StepOrchestrator();
55
53
  stepPromptBuilder = new StepPromptBuilder();
56
54
  stepValidator;
@@ -59,6 +57,7 @@ export class DynamicNodeExecutor {
59
57
  if (api) {
60
58
  this.semanticValidator = new SemanticValidator(api);
61
59
  }
60
+ this.completionGate = new CompletionGate(this.semanticValidator);
62
61
  this.stepValidator = new StepValidator(this.semanticValidator || undefined);
63
62
  }
64
63
  /** 初始化 StepGateKeeper(需要 HandlerContext) */
@@ -76,6 +75,25 @@ export class DynamicNodeExecutor {
76
75
  }
77
76
  return this.stepGateKeeper;
78
77
  }
78
+ evaluatePreToolGate(pipeline, event) {
79
+ const currentNode = pipeline.nodes.find(node => node.id === pipeline.currentNodeId);
80
+ if (!currentNode)
81
+ return null;
82
+ const currentStep = this.stepOrchestrator.isStepModeEnabled(currentNode)
83
+ ? this.stepOrchestrator.getCurrentStep(pipeline, currentNode) ?? undefined
84
+ : undefined;
85
+ const stepDef = currentStep
86
+ ? this.stepOrchestrator.loadStepDefinition(currentNode.nodeTypeId, currentStep.stepDefinitionId) ?? undefined
87
+ : undefined;
88
+ return this.completionGate.evaluatePreToolGate({
89
+ event,
90
+ isInArtifactRetry: this.hasArtifactRetry(pipeline.id),
91
+ artifactStage: this.getArtifactStage(pipeline.id, currentNode.id),
92
+ stepGateKeeper: currentStep && stepDef ? this.stepGateKeeper ?? undefined : undefined,
93
+ currentStep,
94
+ stepDef,
95
+ });
96
+ }
79
97
  /**
80
98
  * 获取当前节点的指令
81
99
  */
@@ -186,35 +204,25 @@ export class DynamicNodeExecutor {
186
204
  logger.error(`[Pipeline:Dynamic:Step] Step 定义未找到:${currentStep.stepDefinitionId}`);
187
205
  return { advanced: false };
188
206
  }
189
- // 检测 Step 是否完成(检查完成信号)
190
- const isStepDone = this.detectStepCompletion(stepDef, event);
191
- if (!isStepDone) {
192
- return { advanced: false };
207
+ const gateResult = await this.completionGate.evaluateStep({
208
+ pipeline,
209
+ currentNode,
210
+ currentStep,
211
+ stepDef,
212
+ event,
213
+ stepValidator: this.stepValidator,
214
+ });
215
+ if (gateResult.blocking) {
216
+ currentStep.status = 'need_human';
217
+ logger.error(`[Pipeline:Dynamic:Step] 步骤验证失败且已达最大重试次数`);
218
+ return gateResult;
193
219
  }
194
- logger.info(`[Pipeline:Dynamic:Step] 检测到步骤完成信号:${stepDef.name}`);
195
- // 运行 Step 验证
196
- const validationResult = await this.stepValidator.validate(stepDef, currentStep, pipeline.projectPath, pipeline.complexity);
197
- if (!validationResult.passed) {
198
- // 验证失败,检查是否需要重试
199
- const maxRetries = stepDef.max_retries ?? 3;
200
- if (currentStep.attempts < maxRetries) {
220
+ if (!gateResult.advanced) {
221
+ if (gateResult.systemMessage) {
201
222
  this.stepOrchestrator.retryStep(currentStep);
202
- logger.warn(`[Pipeline:Dynamic:Step] 步骤验证失败,重试(${currentStep.attempts}/${maxRetries})`);
203
- return {
204
- advanced: false,
205
- systemMessage: `[Forge:Step] 步骤 "${stepDef.name}" 验证失败,正在重试(${currentStep.attempts}/${maxRetries})\n\n${validationResult.summary}`,
206
- };
207
- }
208
- else {
209
- // 超过重试次数,需要人工介入
210
- currentStep.status = 'need_human';
211
- logger.error(`[Pipeline:Dynamic:Step] 步骤验证失败且已达最大重试次数`);
212
- return {
213
- advanced: false,
214
- blocking: true,
215
- systemMessage: `[Pipeline 已阻断] 步骤 "${stepDef.name}" 验证失败且已达最大重试次数(${maxRetries})\n\n${validationResult.summary}\n\n需要人工介入修复问题后重启 Pipeline。`,
216
- };
223
+ logger.warn(`[Pipeline:Dynamic:Step] 步骤验证失败,重试(${currentStep.attempts}/${stepDef.max_retries ?? 3})`);
217
224
  }
225
+ return gateResult;
218
226
  }
219
227
  // 验证通过,标记完成并推进到下一步
220
228
  const outputs = this.collectStepOutputs(stepDef, pipeline);
@@ -236,161 +244,36 @@ export class DynamicNodeExecutor {
236
244
  const recentEventsList = this.recentEvents.get(key) || [];
237
245
  const lastActivity = this.lastActivityAt.get(key);
238
246
  const lastArtifact = this.lastArtifactAt.get(key);
239
- const decision = this.completionEngine.decide(currentNode, nodeType, event, recentEventsList, artifacts, eventCount, lastActivity, lastArtifact, pipeline.complexity);
240
- // 调研阶段(未检测到完成信号):不验证产物,让 Claude 自由执行
241
- if (!decision.shouldAdvance) {
242
- return { advanced: false };
243
- }
244
- // ── 检测到完成信号:先检查无写入熔断,再验证产物 ──────────────────────
245
247
  const nonWriteCount = this.consecutiveNonWriteCount.get(key) || 0;
246
- if (nonWriteCount >= DynamicNodeExecutor.CONSECUTIVE_NON_WRITE_BLOCK) {
247
- // Claude 长时间不写入 硬阻断
248
- logger.error(`[Pipeline:Dynamic:Node] 熔断:节点 ${currentNode.nodeTypeId} 连续 ${nonWriteCount} 次非写入工具调用`);
249
- const requiredArtifacts = nodeType.expected_artifacts?.filter(c => c.required !== false) ?? [];
250
- const artifactList = requiredArtifacts.map(c => {
251
- const pathHint = this.formatPathRequirement(c.path_pattern);
252
- return `- ${c.description}${pathHint}`;
253
- }).join('\n');
254
- return {
255
- advanced: false,
256
- blocking: true,
257
- systemMessage: `[Pipeline 已阻断] 检测到连续 ${nonWriteCount} 次非写入工具调用,流程已熔断。
258
-
259
- 必需产物:
260
- ${artifactList}
261
-
262
- 请立即使用 Write 工具创建产物文件并写入实质内容,然后执行 echo "FORGE_NODE_DONE"。`,
263
- };
264
- }
265
- // 检测到完成信号:验证产物,通过才推进,失败则拒绝并提示
266
- const validation = this.artifactValidator.validate(artifacts, nodeType.expected_artifacts, pipeline.complexity);
267
- // 构建节点产物输出
268
- const nodeOutput = {
248
+ const retryKey = `${pipeline.id}:${currentNode.id}`;
249
+ const retries = this.artifactRetryCount.get(retryKey) ?? 0;
250
+ const gateResult = await this.completionGate.evaluateTraditionalNode({
251
+ pipeline,
252
+ currentNode,
253
+ nodeType,
254
+ event,
269
255
  artifacts,
270
- validation,
271
- summary: `完成节点:${nodeType.name},产出 ${artifacts.length} 个产物(${decision.method},置信度 ${decision.confidence}%)`,
272
- };
273
- // 产物验证失败:simple 任务放行,moderate/complex 任务强制重新生成
274
- if (!validation.passed && pipeline.complexity !== 'simple') {
275
- const retryKey = `${pipeline.id}:${currentNode.id}`;
276
- const retries = this.artifactRetryCount.get(retryKey) ?? 0;
277
- if (retries < DynamicNodeExecutor.MAX_ARTIFACT_RETRIES) {
278
- this.artifactRetryCount.set(retryKey, retries + 1);
279
- const missing = validation.missing_required?.join('、') || validation.errors?.join('') || '必需产物';
280
- const requiredArtifacts = nodeType.expected_artifacts?.filter(c => c.required !== false) ?? [];
281
- const artifactList = requiredArtifacts.map(c => {
282
- const pathHint = this.formatPathRequirement(c.path_pattern);
283
- return `- ${c.description}(${c.type} 文件${pathHint})`;
284
- }).join('\n');
285
- logger.warn(`[Pipeline:Dynamic:Node] ⚠️ 节点 ${currentNode.nodeTypeId} 产物缺失,强制重新生成(第 ${retries + 1}/${DynamicNodeExecutor.MAX_ARTIFACT_RETRIES} 次)`);
286
- return {
287
- advanced: false,
288
- systemMessage: `[Forge:产物强制要求] 当前节点「${nodeType.name}」尚未完成,缺少必需产物:${missing}。
289
-
290
- 这是第 ${retries + 1}/${DynamicNodeExecutor.MAX_ARTIFACT_RETRIES} 次重试。
291
-
292
- 你必须立即使用 Write 工具生成以下文件后才能继续:
293
- ${artifactList || missing}
294
-
295
- 生成完成后执行 echo "FORGE_NODE_DONE"。`,
296
- };
297
- }
298
- // 超过重试次数,硬阻断(不再放行)
299
- const missing = validation.missing_required?.join('、') || validation.errors?.join(';') || '必需产物';
300
- const requiredArtifacts = nodeType.expected_artifacts?.filter(c => c.required !== false) ?? [];
301
- const artifactList = requiredArtifacts.map(c => {
302
- const pathHint = this.formatPathRequirement(c.path_pattern);
303
- return `- ${c.description}(${c.type} 文件${pathHint})`;
304
- }).join('\n');
305
- logger.error(`[Pipeline:Dynamic:Node] ❌ 节点 ${currentNode.nodeTypeId} 产物验证失败 ${DynamicNodeExecutor.MAX_ARTIFACT_RETRIES} 次,Pipeline 已阻断`);
306
- return {
307
- advanced: false,
308
- blocking: true, // ✅ 硬阻断标记
309
- systemMessage: `[Pipeline 已阻断] 产物验证失败 ${DynamicNodeExecutor.MAX_ARTIFACT_RETRIES} 次。
310
-
311
- 缺少必需产物:
312
- ${missing}
313
-
314
- 必需产物清单:
315
- ${artifactList}
316
-
317
- Pipeline 已被阻断,无法继续执行。请检查:
318
- 1. 产物路径是否正确?
319
- 2. 产物内容是否符合要求?
320
- 3. 是否需要调整产物约束配置?
321
-
322
- 如需继续,请手动修复问题后重启 Pipeline。`,
323
- };
256
+ eventCount,
257
+ recentEvents: recentEventsList,
258
+ lastActivityAt: lastActivity,
259
+ lastArtifactAt: lastArtifact,
260
+ consecutiveNonWriteCount: nonWriteCount,
261
+ retryCount: retries,
262
+ maxArtifactRetries: DynamicNodeExecutor.MAX_ARTIFACT_RETRIES,
263
+ formatPathRequirement: (pathPattern) => this.formatPathRequirement(pathPattern),
264
+ });
265
+ if (!gateResult.advanced && gateResult.systemMessage?.includes('[Forge:产物强制要求]')) {
266
+ this.artifactRetryCount.set(retryKey, retries + 1);
267
+ this.artifactStage.set(key, 'enriching');
268
+ logger.warn(`[Pipeline:Dynamic:Node] ⚠️ 节点 ${currentNode.nodeTypeId} 产物缺失,强制重新生成(第 ${retries + 1}/${DynamicNodeExecutor.MAX_ARTIFACT_RETRIES} 次)`);
324
269
  }
325
- else if (!validation.passed) {
326
- logger.warn(`[Pipeline:Dynamic:Node] ⚠️ 节点 ${currentNode.nodeTypeId} 产物验证失败(simple 任务放行):${validation.errors?.join('; ')}`);
327
- }
328
- // 语义一致性校验(仅对 document 类型产物启用)
329
- if (this.semanticValidator && validation.passed) {
330
- const documentArtifacts = artifacts.filter(a => a.type === 'document');
331
- if (documentArtifacts.length > 0) {
332
- // 检查节点类型是否启用语义校验
333
- const semanticConfig = nodeType.semantic_validation;
334
- if (semanticConfig?.enabled === false) {
335
- logger.info(`[Pipeline:Dynamic:Node] 节点 ${currentNode.nodeTypeId} 已禁用语义校验`);
336
- }
337
- else {
338
- try {
339
- const artifact = documentArtifacts[0]; // 取第一个文档产物
340
- const minCoverage = semanticConfig?.min_coverage; // 节点级配置优先
341
- const semanticResult = await this.semanticValidator.validate(artifact, recentEventsList, nodeType.name, event.project_path, minCoverage);
342
- if (!semanticResult.consistent) {
343
- logger.warn(`[Pipeline:Dynamic:Node] ⚠️ 节点 ${currentNode.nodeTypeId} 语义一致性不足:覆盖率 ${semanticResult.coverage}%`);
344
- const missingList = semanticResult.missing_points.map(p => `- ${p}`).join('\n');
345
- const threshold = minCoverage ?? 70; // 显示实际使用的阈值
346
- return {
347
- advanced: false,
348
- systemMessage: `[Forge:语义一致性] 当前节点「${nodeType.name}」产物文档内容不完整。
349
-
350
- 覆盖率:${semanticResult.coverage}%(需要 >= ${threshold}%)
351
-
352
- 缺失的关键要点:
353
- ${missingList}
354
-
355
- 请使用 Edit 工具补充以上缺失内容到文档中,确保文档完整覆盖本轮调研的关键发现。`,
356
- };
357
- }
358
- else {
359
- logger.info(`[Pipeline:Dynamic:Node] ✅ 语义一致性校验通过:覆盖率 ${semanticResult.coverage}%`);
360
- }
361
- }
362
- catch (err) {
363
- logger.warn(`[Pipeline:Dynamic:Node] 语义校验失败,跳过:${err}`);
364
- }
365
- }
366
- }
270
+ if (gateResult.advanced) {
271
+ this.artifactStage.set(key, 'ready');
272
+ logger.info(`[Pipeline:Dynamic:Node] ✅ 节点 ${currentNode.nodeTypeId} 完成,推进到 ${gateResult.newPhase || 'done'}`);
367
273
  }
368
- // 推进到下一个节点
369
- const nextNodeId = this.getNextNodeId(pipeline, currentNode.id);
370
- logger.info(`[Pipeline:Dynamic:Node] ✅ 节点 ${currentNode.nodeTypeId} 完成,推进到 ${nextNodeId || 'done'}`);
371
- return {
372
- advanced: true,
373
- newPhase: nextNodeId,
374
- advanceReason: 'task_complete',
375
- nodeOutput: JSON.stringify(nodeOutput), // 序列化为 JSON 字符串
376
- };
274
+ return gateResult;
377
275
  }
378
276
  // ─── Step 模式辅助方法 ────────────────────────────────────────────────────────
379
- /**
380
- * 检测 Step 是否完成(检查完成信号)
381
- */
382
- detectStepCompletion(stepDef, event) {
383
- const signal = stepDef.done_definition.signal || 'FORGE_STEP_DONE';
384
- // 检查 Bash 命令中是否包含完成信号
385
- if (event.tool_name === 'Bash') {
386
- const command = event.tool_input?.command;
387
- if (typeof command === 'string' && command.includes(signal)) {
388
- return true;
389
- }
390
- }
391
- // TODO: 支持其他完成检测方式(required_artifacts、custom_detector)
392
- return false;
393
- }
394
277
  /**
395
278
  * 收集 Step 的输出产物
396
279
  */
@@ -400,17 +283,57 @@ ${missingList}
400
283
  if (stepDef.expected_artifacts) {
401
284
  for (const artifact of stepDef.expected_artifacts) {
402
285
  if (artifact.path_pattern) {
403
- const fullPath = path.isAbsolute(artifact.path_pattern)
404
- ? artifact.path_pattern
405
- : path.join(pipeline.projectPath, artifact.path_pattern);
406
- if (fs.existsSync(fullPath)) {
407
- outputs[artifact.type] = fullPath;
408
- }
286
+ const matchedPath = this.findMatchingArtifactPath(pipeline.projectPath, artifact.path_pattern);
287
+ if (matchedPath)
288
+ outputs[artifact.type] = matchedPath;
409
289
  }
410
290
  }
411
291
  }
412
292
  return outputs;
413
293
  }
294
+ findMatchingArtifactPath(projectPath, pattern) {
295
+ const normalizedPattern = path.isAbsolute(pattern)
296
+ ? path.relative(projectPath, pattern)
297
+ : pattern;
298
+ const matcher = this.createGlobMatcher(normalizedPattern);
299
+ const visit = (dir) => {
300
+ const entries = fs.existsSync(dir) ? fs.readdirSync(dir, { withFileTypes: true }) : [];
301
+ for (const entry of entries) {
302
+ const fullPath = path.join(dir, entry.name);
303
+ const relPath = path.relative(projectPath, fullPath).replace(/\\/g, '/');
304
+ if (entry.isDirectory()) {
305
+ const nested = visit(fullPath);
306
+ if (nested)
307
+ return nested;
308
+ continue;
309
+ }
310
+ if (matcher.test(relPath))
311
+ return fullPath;
312
+ }
313
+ return null;
314
+ };
315
+ return visit(projectPath);
316
+ }
317
+ createGlobMatcher(pattern) {
318
+ const DOUBLE_STAR = '\x00DOUBLESTAR\x00';
319
+ const braceGroups = [];
320
+ const BRACE_GROUP = '\x00BRACEGROUP\x00';
321
+ const regex = pattern
322
+ .replace(/\{([^}]+)\}/g, (_match, inner) => {
323
+ const group = inner.split(',').map(part => part.trim()).filter(Boolean)
324
+ .map(option => option.replace(/[.*+?^${}()|[\]\\]/g, '\\$&'))
325
+ .join('|');
326
+ braceGroups.push(`(?:${group})`);
327
+ return `${BRACE_GROUP}${braceGroups.length - 1}\x00`;
328
+ })
329
+ .replace(/\*\*/g, DOUBLE_STAR)
330
+ .replace(/[.+?^${}()|[\]\\]/g, '\\$&')
331
+ .replace(new RegExp(`${BRACE_GROUP}(\\d+)\\x00`, 'g'), (_match, index) => braceGroups[Number(index)] ?? '')
332
+ .replace(/\*/g, '[^/]*')
333
+ .replace(new RegExp(DOUBLE_STAR + '/', 'g'), '(?:.+/)?')
334
+ .replace(new RegExp(DOUBLE_STAR, 'g'), '.*');
335
+ return new RegExp(`^${regex}$`);
336
+ }
414
337
  /**
415
338
  * 清理节点执行器缓存
416
339
  */
@@ -483,6 +406,12 @@ ${missingList}
483
406
  if (state.recentTools && state.recentTools.length > 0) {
484
407
  this.recentTools.set(key, state.recentTools.slice(-5));
485
408
  }
409
+ if (state.artifactStage) {
410
+ this.artifactStage.set(key, state.artifactStage);
411
+ }
412
+ if (typeof state.artifactRetryCount === 'number') {
413
+ this.artifactRetryCount.set(key, state.artifactRetryCount);
414
+ }
486
415
  }
487
416
  /**
488
417
  * 导出节点状态(用于持久化)
@@ -495,6 +424,8 @@ ${missingList}
495
424
  fixAttempts: this.nodeFixAttempts.get(key) || 0,
496
425
  writeEditCount: this.nodeWriteEditCounts.get(key) || 0,
497
426
  recentTools: this.recentTools.get(key) || [],
427
+ artifactStage: this.artifactStage.get(key),
428
+ artifactRetryCount: this.artifactRetryCount.get(key),
498
429
  };
499
430
  }
500
431
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"dynamic-node-executor.js","sourceRoot":"","sources":["../../src/pipeline/dynamic-node-executor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dynamic-node-executor.js","sourceRoot":"","sources":["../../src/pipeline/dynamic-node-executor.ts"],"names":[],"mappings":"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"}
@@ -93,6 +93,8 @@ export interface DynamicPipeline {
93
93
  complexity?: 'simple' | 'moderate' | 'complex';
94
94
  /** AI 规划推理 */
95
95
  reasoning?: string;
96
+ /** 持久化的权威执行计划快照 */
97
+ executionPlan?: import('./execution-plan.js').CanonicalExecutionPlan;
96
98
  /** Pipeline 状态 */
97
99
  status: 'in_progress' | 'completed' | 'failed';
98
100
  createdAt: string;
@@ -1 +1 @@
1
- {"version":3,"file":"dynamic-node-types.d.ts","sourceRoot":"","sources":["../../src/pipeline/dynamic-node-types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dynamic-node-types.d.ts","sourceRoot":"","sources":["../../src/pipeline/dynamic-node-types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ import type { IntentAnalysis } from '../autopilot/intent-engine.js';
2
+ import { PipelineAnalyzer } from './analyzer.js';
3
+ import { type CanonicalExecutionPlan } from './execution-plan.js';
4
+ import type { PipelineTemplate, TemplateRouteResult } from './types.js';
5
+ export interface ExecutionPlanBuildInput {
6
+ requirement: string;
7
+ projectPath: string;
8
+ sessionId: string;
9
+ analysis: IntentAnalysis;
10
+ templateRoute?: TemplateRouteResult | null;
11
+ template?: PipelineTemplate;
12
+ }
13
+ export declare class ExecutionPlanBuilder {
14
+ private analyzer;
15
+ constructor(analyzer: PipelineAnalyzer);
16
+ build(input: ExecutionPlanBuildInput): Promise<CanonicalExecutionPlan>;
17
+ private buildFromDecompose;
18
+ private buildFromTemplate;
19
+ }
20
+ //# sourceMappingURL=execution-plan-builder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"execution-plan-builder.d.ts","sourceRoot":"","sources":["../../src/pipeline/execution-plan-builder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AACpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAEL,KAAK,sBAAsB,EAE5B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAiB,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAEvF,MAAM,WAAW,uBAAuB;IACtC,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,cAAc,CAAC;IACzB,aAAa,CAAC,EAAE,mBAAmB,GAAG,IAAI,CAAC;IAC3C,QAAQ,CAAC,EAAE,gBAAgB,CAAC;CAC7B;AAED,qBAAa,oBAAoB;IACnB,OAAO,CAAC,QAAQ;gBAAR,QAAQ,EAAE,gBAAgB;IAExC,KAAK,CAAC,KAAK,EAAE,uBAAuB,GAAG,OAAO,CAAC,sBAAsB,CAAC;YAQ9D,kBAAkB;IAwChC,OAAO,CAAC,iBAAiB;CAiD1B"}
@@ -0,0 +1,100 @@
1
+ import { buildStageSpecs, normalizePipelinePhases, } from './execution-plan.js';
2
+ export class ExecutionPlanBuilder {
3
+ analyzer;
4
+ constructor(analyzer) {
5
+ this.analyzer = analyzer;
6
+ }
7
+ async build(input) {
8
+ if (input.template) {
9
+ return this.buildFromTemplate(input);
10
+ }
11
+ return this.buildFromDecompose(input);
12
+ }
13
+ async buildFromDecompose(input) {
14
+ const decomposition = await this.analyzer.decompose(input.requirement, input.projectPath);
15
+ const skipPhases = normalizePipelinePhases(input.analysis.skipPhases);
16
+ const plannedPhases = decomposition.plannedPhases.filter(phase => !skipPhases.includes(phase));
17
+ const effectivePhases = plannedPhases.length > 0 ? plannedPhases : decomposition.plannedPhases;
18
+ return {
19
+ version: 1,
20
+ source: 'decompose',
21
+ requirement: input.requirement,
22
+ projectPath: input.projectPath,
23
+ sessionId: input.sessionId,
24
+ complexity: decomposition.complexity,
25
+ taskType: decomposition.taskType,
26
+ techStack: decomposition.techStack,
27
+ reasoning: decomposition.reasoning,
28
+ intent: {
29
+ complexity: input.analysis.complexity,
30
+ requiresPipeline: input.analysis.requiresPipeline,
31
+ estimatedFiles: input.analysis.estimatedFiles,
32
+ reasoning: input.analysis.reasoning,
33
+ skipPhases: input.analysis.skipPhases,
34
+ },
35
+ route: input.templateRoute
36
+ ? {
37
+ confidence: input.templateRoute.confidence,
38
+ method: input.templateRoute.method,
39
+ }
40
+ : undefined,
41
+ entryPolicy: {
42
+ skipPhases,
43
+ },
44
+ stages: buildStageSpecs({
45
+ phases: effectivePhases,
46
+ phaseArtifacts: decomposition.phaseArtifacts,
47
+ }),
48
+ tasks: decomposition.tasks,
49
+ };
50
+ }
51
+ buildFromTemplate(input) {
52
+ const template = input.template;
53
+ const validPhases = template.phases
54
+ .map(phase => phase.id)
55
+ .filter((phase) => ['analyze', 'design', 'profile', 'code', 'test', 'review'].includes(phase));
56
+ const plannedPhases = validPhases.length > 0 ? validPhases : ['code', 'test'];
57
+ const skipPhases = normalizePipelinePhases(input.analysis.skipPhases);
58
+ const effectivePhases = plannedPhases.filter(phase => !skipPhases.includes(phase));
59
+ return {
60
+ version: 1,
61
+ source: 'template',
62
+ requirement: input.requirement,
63
+ projectPath: input.projectPath,
64
+ sessionId: input.sessionId,
65
+ complexity: (template.trigger?.complexity?.[0] || input.analysis.complexity || 'moderate'),
66
+ taskType: template.taskType || 'other',
67
+ reasoning: `来源模板:${template.name}(${template.id})`,
68
+ templateId: template.id,
69
+ templateName: template.name,
70
+ intent: {
71
+ complexity: input.analysis.complexity,
72
+ requiresPipeline: input.analysis.requiresPipeline,
73
+ estimatedFiles: input.analysis.estimatedFiles,
74
+ reasoning: input.analysis.reasoning,
75
+ skipPhases: input.analysis.skipPhases,
76
+ },
77
+ route: input.templateRoute
78
+ ? {
79
+ confidence: input.templateRoute.confidence,
80
+ method: input.templateRoute.method,
81
+ }
82
+ : undefined,
83
+ entryPolicy: {
84
+ skipPhases,
85
+ },
86
+ stages: buildStageSpecs({
87
+ phases: effectivePhases.length > 0 ? effectivePhases : plannedPhases,
88
+ template,
89
+ }),
90
+ tasks: (effectivePhases.length > 0 ? effectivePhases : plannedPhases).map((phase) => ({
91
+ title: template.phases.find(item => item.id === phase)?.name || phase,
92
+ phase,
93
+ status: 'pending',
94
+ description: `模板节点:${phase}`,
95
+ dependencies: [],
96
+ })),
97
+ };
98
+ }
99
+ }
100
+ //# sourceMappingURL=execution-plan-builder.js.map