@winspan/claude-forge 2.2.0 → 2.4.0
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.
- package/README.md +48 -4
- package/dist/convention/types.d.ts +2 -0
- package/dist/convention/types.d.ts.map +1 -1
- package/dist/daemon/engine-registry.d.ts.map +1 -1
- package/dist/daemon/engine-registry.js +5 -0
- package/dist/daemon/engine-registry.js.map +1 -1
- package/dist/daemon/handlers/pre-tool-use-handler.d.ts.map +1 -1
- package/dist/daemon/handlers/pre-tool-use-handler.js +28 -5
- package/dist/daemon/handlers/pre-tool-use-handler.js.map +1 -1
- package/dist/pipeline/aggregator.d.ts +10 -0
- package/dist/pipeline/aggregator.d.ts.map +1 -1
- package/dist/pipeline/aggregator.js.map +1 -1
- package/dist/pipeline/dynamic-aggregator.d.ts +24 -0
- package/dist/pipeline/dynamic-aggregator.d.ts.map +1 -1
- package/dist/pipeline/dynamic-aggregator.js +111 -0
- package/dist/pipeline/dynamic-aggregator.js.map +1 -1
- package/dist/pipeline/dynamic-node-executor.d.ts +49 -0
- package/dist/pipeline/dynamic-node-executor.d.ts.map +1 -1
- package/dist/pipeline/dynamic-node-executor.js +295 -4
- package/dist/pipeline/dynamic-node-executor.js.map +1 -1
- package/dist/pipeline/dynamic-node-types.d.ts +37 -0
- package/dist/pipeline/dynamic-node-types.d.ts.map +1 -1
- package/dist/pipeline/events.d.ts +72 -2
- package/dist/pipeline/events.d.ts.map +1 -1
- package/dist/pipeline/events.js +7 -0
- package/dist/pipeline/events.js.map +1 -1
- package/dist/pipeline/index.d.ts +16 -0
- package/dist/pipeline/index.d.ts.map +1 -1
- package/dist/pipeline/index.js +104 -0
- package/dist/pipeline/index.js.map +1 -1
- package/dist/pipeline/node-type-registry.js +2 -2
- package/dist/pipeline/semantic-validator.d.ts.map +1 -1
- package/dist/pipeline/semantic-validator.js +12 -1
- package/dist/pipeline/semantic-validator.js.map +1 -1
- package/dist/pipeline/step-gate-keeper.d.ts +28 -0
- package/dist/pipeline/step-gate-keeper.d.ts.map +1 -0
- package/dist/pipeline/step-gate-keeper.js +47 -0
- package/dist/pipeline/step-gate-keeper.js.map +1 -0
- package/dist/pipeline/step-orchestrator.d.ts +66 -0
- package/dist/pipeline/step-orchestrator.d.ts.map +1 -0
- package/dist/pipeline/step-orchestrator.js +183 -0
- package/dist/pipeline/step-orchestrator.js.map +1 -0
- package/dist/pipeline/step-prompt-builder.d.ts +32 -0
- package/dist/pipeline/step-prompt-builder.d.ts.map +1 -0
- package/dist/pipeline/step-prompt-builder.js +111 -0
- package/dist/pipeline/step-prompt-builder.js.map +1 -0
- package/dist/pipeline/step-types.d.ts +141 -0
- package/dist/pipeline/step-types.d.ts.map +1 -0
- package/dist/pipeline/step-types.js +7 -0
- package/dist/pipeline/step-types.js.map +1 -0
- package/dist/pipeline/step-validator.d.ts +29 -0
- package/dist/pipeline/step-validator.d.ts.map +1 -0
- package/dist/pipeline/step-validator.js +173 -0
- package/dist/pipeline/step-validator.js.map +1 -0
- package/dist/pipeline/store.d.ts +4 -0
- package/dist/pipeline/store.d.ts.map +1 -1
- package/dist/pipeline/store.js +11 -0
- package/dist/pipeline/store.js.map +1 -1
- package/dist/storage/repositories/dynamic-pipeline-repository.d.ts.map +1 -1
- package/dist/storage/repositories/dynamic-pipeline-repository.js +22 -0
- package/dist/storage/repositories/dynamic-pipeline-repository.js.map +1 -1
- package/dist/storage/sqlite.d.ts.map +1 -1
- package/dist/storage/sqlite.js +36 -1
- package/dist/storage/sqlite.js.map +1 -1
- package/dist/web-static/assets/index-BuH39IBL.js +76 -0
- package/dist/web-static/assets/index-CEtt07F4.css +1 -0
- package/dist/web-static/index.html +2 -2
- package/package.json +1 -1
- package/dist/web-static/assets/index-80ChCYXd.css +0 -1
- package/dist/web-static/assets/index-aOMxJsSz.js +0 -76
|
@@ -13,6 +13,7 @@ import type { INodeExecutor, NodeExecutorState, AdvanceResult } from './i-node-e
|
|
|
13
13
|
import type { QualityGateEngine } from '../autopilot/quality-gate.js';
|
|
14
14
|
import type { PhaseSnapshot } from '../retrospective/types.js';
|
|
15
15
|
import type { AIProvider } from '../ai-provider/types.js';
|
|
16
|
+
import { StepOrchestrator } from './step-orchestrator.js';
|
|
16
17
|
export declare class DynamicNodeExecutor implements INodeExecutor {
|
|
17
18
|
private nodeToolsSeen;
|
|
18
19
|
private nodeEventCounts;
|
|
@@ -27,21 +28,59 @@ export declare class DynamicNodeExecutor implements INodeExecutor {
|
|
|
27
28
|
private lastArtifactAt;
|
|
28
29
|
/** 最近事件列表(key = pipelineId:nodeId,保留最近 10 条) */
|
|
29
30
|
private recentEvents;
|
|
31
|
+
/** 产物阶段状态(uninitialized/bootstrapped/enriching/ready) */
|
|
32
|
+
private artifactStage;
|
|
33
|
+
/** 连续非 Write/Edit 工具调用次数(熔断器) */
|
|
34
|
+
private consecutiveNonWriteCount;
|
|
30
35
|
private static readonly MAX_ARTIFACT_RETRIES;
|
|
31
36
|
private static readonly MAX_RECENT_EVENTS;
|
|
37
|
+
/** 连续非写入工具调用超过此阈值时触发熔断提示 */
|
|
38
|
+
private static readonly CONSECUTIVE_NON_WRITE_WARN;
|
|
39
|
+
/** 连续非写入工具调用超过此阈值时触发强制门禁 */
|
|
40
|
+
private static readonly CONSECUTIVE_NON_WRITE_BLOCK;
|
|
32
41
|
private artifactCollector;
|
|
33
42
|
private artifactValidator;
|
|
34
43
|
private completionEngine;
|
|
35
44
|
private semanticValidator;
|
|
45
|
+
private stepOrchestrator;
|
|
46
|
+
private stepPromptBuilder;
|
|
47
|
+
private stepValidator;
|
|
48
|
+
private stepGateKeeper;
|
|
36
49
|
constructor(api?: AIProvider);
|
|
50
|
+
/** 初始化 StepGateKeeper(需要 HandlerContext) */
|
|
51
|
+
initStepGateKeeper(handlerContext: import('../daemon/handler-context.js').HandlerContext): void;
|
|
52
|
+
/** 获取 StepOrchestrator(供 PipelineEngine 使用) */
|
|
53
|
+
getStepOrchestrator(): StepOrchestrator;
|
|
54
|
+
/** 获取 StepGateKeeper(供 PipelineEngine 使用) */
|
|
55
|
+
getStepGateKeeper(): import('./step-gate-keeper.js').StepGateKeeper;
|
|
37
56
|
/**
|
|
38
57
|
* 获取当前节点的指令
|
|
39
58
|
*/
|
|
40
59
|
getInstruction(pipeline: DynamicPipeline): string;
|
|
60
|
+
/**
|
|
61
|
+
* 获取 Step 模式的指令(分步驱动)
|
|
62
|
+
*/
|
|
63
|
+
private getStepInstruction;
|
|
41
64
|
/**
|
|
42
65
|
* 检查并推进节点
|
|
43
66
|
*/
|
|
44
67
|
checkAndAdvance(pipeline: DynamicPipeline, event: ForgeEvent, qualityGate?: QualityGateEngine): Promise<AdvanceResult>;
|
|
68
|
+
/**
|
|
69
|
+
* Step 模式的推进逻辑
|
|
70
|
+
*/
|
|
71
|
+
private checkAndAdvanceStep;
|
|
72
|
+
/**
|
|
73
|
+
* 传统模式的推进逻辑(原有逻辑)
|
|
74
|
+
*/
|
|
75
|
+
private checkAndAdvanceTraditional;
|
|
76
|
+
/**
|
|
77
|
+
* 检测 Step 是否完成(检查完成信号)
|
|
78
|
+
*/
|
|
79
|
+
private detectStepCompletion;
|
|
80
|
+
/**
|
|
81
|
+
* 收集 Step 的输出产物
|
|
82
|
+
*/
|
|
83
|
+
private collectStepOutputs;
|
|
45
84
|
/**
|
|
46
85
|
* 清理节点执行器缓存
|
|
47
86
|
*/
|
|
@@ -50,6 +89,10 @@ export declare class DynamicNodeExecutor implements INodeExecutor {
|
|
|
50
89
|
* 判断动态 Pipeline 是否已进入产物重试状态(任一节点 retryCount >= 1)
|
|
51
90
|
*/
|
|
52
91
|
hasArtifactRetry(pipelineId: string): boolean;
|
|
92
|
+
/**
|
|
93
|
+
* 获取当前节点的产物阶段(用于 PreToolUse 门禁判断)
|
|
94
|
+
*/
|
|
95
|
+
getArtifactStage(pipelineId: string, nodeId: string): 'uninitialized' | 'bootstrapped' | 'enriching' | 'ready';
|
|
53
96
|
/**
|
|
54
97
|
* 重置修复次数
|
|
55
98
|
*/
|
|
@@ -82,8 +125,14 @@ export declare class DynamicNodeExecutor implements INodeExecutor {
|
|
|
82
125
|
private areDependenciesMet;
|
|
83
126
|
/**
|
|
84
127
|
* 兜底:首次进入节点时自动创建必需产物骨架,并登记到 ArtifactCollector
|
|
128
|
+
*
|
|
129
|
+
* 改进:骨架内容满足硬约束(min_length/min_size),避免首轮即失败
|
|
85
130
|
*/
|
|
86
131
|
private ensureRequiredArtifactSkeletons;
|
|
132
|
+
/**
|
|
133
|
+
* 生成满足硬约束的富文本模板(> 300 字符、> 300 字节)
|
|
134
|
+
*/
|
|
135
|
+
private generateRichTemplate;
|
|
87
136
|
/** 根据 path_pattern 推导骨架文件路径 */
|
|
88
137
|
private resolveSkeletonPath;
|
|
89
138
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dynamic-node-executor.d.ts","sourceRoot":"","sources":["../../src/pipeline/dynamic-node-executor.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,KAAK,EAAE,eAAe,EAAe,MAAM,yBAAyB,CAAC;AAC5E,OAAO,KAAK,EAAE,aAAa,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC5F,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACtE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAE/D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"dynamic-node-executor.d.ts","sourceRoot":"","sources":["../../src/pipeline/dynamic-node-executor.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,6 +12,9 @@ import { ArtifactCollector } from './artifact-collector.js';
|
|
|
12
12
|
import { ArtifactValidator } from './artifact-validator.js';
|
|
13
13
|
import { CompletionEngine } from './completion-engine.js';
|
|
14
14
|
import { SemanticValidator } from './semantic-validator.js';
|
|
15
|
+
import { StepOrchestrator } from './step-orchestrator.js';
|
|
16
|
+
import { StepPromptBuilder } from './step-prompt-builder.js';
|
|
17
|
+
import { StepValidator } from './step-validator.js';
|
|
15
18
|
import { logger } from '../utils/logger.js';
|
|
16
19
|
import { memoryManager } from '../utils/memory-manager.js';
|
|
17
20
|
import { CACHE, TIME } from '../constants.js';
|
|
@@ -31,16 +34,45 @@ export class DynamicNodeExecutor {
|
|
|
31
34
|
lastArtifactAt = memoryManager.register('dynamicNode:lastArtifact', { max: CACHE.PHASE_MANAGER_MAX, ttl: TIME.DAY });
|
|
32
35
|
/** 最近事件列表(key = pipelineId:nodeId,保留最近 10 条) */
|
|
33
36
|
recentEvents = memoryManager.register('dynamicNode:recentEvents', { max: CACHE.PHASE_MANAGER_MAX, ttl: TIME.DAY });
|
|
37
|
+
/** 产物阶段状态(uninitialized/bootstrapped/enriching/ready) */
|
|
38
|
+
artifactStage = memoryManager.register('dynamicNode:artifactStage', { max: CACHE.PHASE_MANAGER_MAX, ttl: TIME.DAY });
|
|
39
|
+
/** 连续非 Write/Edit 工具调用次数(熔断器) */
|
|
40
|
+
consecutiveNonWriteCount = memoryManager.register('dynamicNode:consecutiveNonWrite', { max: CACHE.PHASE_MANAGER_MAX, ttl: TIME.DAY });
|
|
34
41
|
static MAX_ARTIFACT_RETRIES = 10;
|
|
35
42
|
static MAX_RECENT_EVENTS = 10;
|
|
43
|
+
/** 连续非写入工具调用超过此阈值时触发熔断提示 */
|
|
44
|
+
static CONSECUTIVE_NON_WRITE_WARN = 12;
|
|
45
|
+
/** 连续非写入工具调用超过此阈值时触发强制门禁 */
|
|
46
|
+
static CONSECUTIVE_NON_WRITE_BLOCK = 20;
|
|
36
47
|
artifactCollector = new ArtifactCollector();
|
|
37
48
|
artifactValidator = new ArtifactValidator();
|
|
38
49
|
completionEngine = new CompletionEngine();
|
|
39
50
|
semanticValidator = null;
|
|
51
|
+
stepOrchestrator = new StepOrchestrator();
|
|
52
|
+
stepPromptBuilder = new StepPromptBuilder();
|
|
53
|
+
stepValidator;
|
|
54
|
+
stepGateKeeper = null;
|
|
40
55
|
constructor(api) {
|
|
41
56
|
if (api) {
|
|
42
57
|
this.semanticValidator = new SemanticValidator(api);
|
|
43
58
|
}
|
|
59
|
+
this.stepValidator = new StepValidator(this.semanticValidator || undefined);
|
|
60
|
+
}
|
|
61
|
+
/** 初始化 StepGateKeeper(需要 HandlerContext) */
|
|
62
|
+
initStepGateKeeper(handlerContext) {
|
|
63
|
+
const { StepGateKeeper } = require('./step-gate-keeper.js');
|
|
64
|
+
this.stepGateKeeper = new StepGateKeeper(handlerContext);
|
|
65
|
+
}
|
|
66
|
+
/** 获取 StepOrchestrator(供 PipelineEngine 使用) */
|
|
67
|
+
getStepOrchestrator() {
|
|
68
|
+
return this.stepOrchestrator;
|
|
69
|
+
}
|
|
70
|
+
/** 获取 StepGateKeeper(供 PipelineEngine 使用) */
|
|
71
|
+
getStepGateKeeper() {
|
|
72
|
+
if (!this.stepGateKeeper) {
|
|
73
|
+
throw new Error('[DynamicNodeExecutor] StepGateKeeper 未初始化(需要调用 initStepGateKeeper)');
|
|
74
|
+
}
|
|
75
|
+
return this.stepGateKeeper;
|
|
44
76
|
}
|
|
45
77
|
/**
|
|
46
78
|
* 获取当前节点的指令
|
|
@@ -56,7 +88,11 @@ export class DynamicNodeExecutor {
|
|
|
56
88
|
logger.warn(`[Pipeline:Dynamic:Node] ⚠️ 节点类型未找到:${currentNode.nodeTypeId}`);
|
|
57
89
|
return '继续执行当前任务';
|
|
58
90
|
}
|
|
59
|
-
//
|
|
91
|
+
// ✅ Step 模式:检查是否启用分步驱动
|
|
92
|
+
if (this.stepOrchestrator.isStepModeEnabled(currentNode)) {
|
|
93
|
+
return this.getStepInstruction(pipeline, currentNode, nodeType);
|
|
94
|
+
}
|
|
95
|
+
// 传统模式:原有逻辑
|
|
60
96
|
const key = `${pipeline.id}:${currentNode.id}`;
|
|
61
97
|
const bootstrapped = this.ensureRequiredArtifactSkeletons(key, pipeline, nodeType);
|
|
62
98
|
let instruction = `当前节点:${nodeType.name}\n${nodeType.description}`;
|
|
@@ -80,6 +116,33 @@ export class DynamicNodeExecutor {
|
|
|
80
116
|
}
|
|
81
117
|
return instruction;
|
|
82
118
|
}
|
|
119
|
+
/**
|
|
120
|
+
* 获取 Step 模式的指令(分步驱动)
|
|
121
|
+
*/
|
|
122
|
+
getStepInstruction(pipeline, currentNode, nodeType) {
|
|
123
|
+
// 初始化 Step 执行状态(如果尚未初始化)
|
|
124
|
+
if (!currentNode.stepExecutions || currentNode.stepExecutions.length === 0) {
|
|
125
|
+
currentNode.stepExecutions = this.stepOrchestrator.initializeSteps(pipeline, currentNode);
|
|
126
|
+
logger.info(`[Pipeline:Dynamic:Step] 初始化 ${currentNode.stepExecutions.length} 个步骤`);
|
|
127
|
+
}
|
|
128
|
+
// 获取当前应执行的 Step
|
|
129
|
+
const currentStep = this.stepOrchestrator.getCurrentStep(pipeline, currentNode);
|
|
130
|
+
if (!currentStep) {
|
|
131
|
+
return '所有步骤已完成,等待节点推进';
|
|
132
|
+
}
|
|
133
|
+
// 加载 Step 定义
|
|
134
|
+
const stepDef = this.stepOrchestrator.loadStepDefinition(currentNode.nodeTypeId, currentStep.stepDefinitionId);
|
|
135
|
+
if (!stepDef) {
|
|
136
|
+
logger.error(`[Pipeline:Dynamic:Step] Step 定义未找到:${currentStep.stepDefinitionId}`);
|
|
137
|
+
return '继续执行当前任务';
|
|
138
|
+
}
|
|
139
|
+
// 收集输入产物
|
|
140
|
+
const inputs = this.stepOrchestrator.collectStepInputs(currentStep, currentNode);
|
|
141
|
+
// 构造 Step 专用 prompt
|
|
142
|
+
const stepPrompt = this.stepPromptBuilder.buildPrompt(stepDef, inputs);
|
|
143
|
+
logger.info(`[Pipeline:Dynamic:Step] 当前步骤:${stepDef.name}(${currentStep.attempts} 次尝试)`);
|
|
144
|
+
return stepPrompt;
|
|
145
|
+
}
|
|
83
146
|
/**
|
|
84
147
|
* 检查并推进节点
|
|
85
148
|
*/
|
|
@@ -97,6 +160,119 @@ export class DynamicNodeExecutor {
|
|
|
97
160
|
logger.warn(`[Pipeline:Dynamic:Node] ⚠️ 节点类型未找到:${currentNode.nodeTypeId}`);
|
|
98
161
|
return { advanced: false };
|
|
99
162
|
}
|
|
163
|
+
// ✅ Step 模式:分步驱动推进逻辑
|
|
164
|
+
if (this.stepOrchestrator.isStepModeEnabled(currentNode)) {
|
|
165
|
+
return this.checkAndAdvanceStep(pipeline, currentNode, nodeType, event, qualityGate);
|
|
166
|
+
}
|
|
167
|
+
// 传统模式:原有逻辑(保持不变)
|
|
168
|
+
return this.checkAndAdvanceTraditional(pipeline, currentNode, nodeType, event, qualityGate, key);
|
|
169
|
+
}
|
|
170
|
+
/**
|
|
171
|
+
* Step 模式的推进逻辑
|
|
172
|
+
*/
|
|
173
|
+
async checkAndAdvanceStep(pipeline, currentNode, nodeType, event, qualityGate) {
|
|
174
|
+
// 获取当前 Step
|
|
175
|
+
const currentStep = this.stepOrchestrator.getCurrentStep(pipeline, currentNode);
|
|
176
|
+
if (!currentStep) {
|
|
177
|
+
// 所有 Step 完成,推进到下一个 Node
|
|
178
|
+
logger.info(`[Pipeline:Dynamic:Step] 所有步骤完成,推进节点`);
|
|
179
|
+
const nextNodeId = this.getNextNodeId(pipeline, currentNode.id);
|
|
180
|
+
return {
|
|
181
|
+
advanced: true,
|
|
182
|
+
newPhase: nextNodeId,
|
|
183
|
+
advanceReason: 'task_complete',
|
|
184
|
+
};
|
|
185
|
+
}
|
|
186
|
+
// 加载 Step 定义
|
|
187
|
+
const stepDef = this.stepOrchestrator.loadStepDefinition(currentNode.nodeTypeId, currentStep.stepDefinitionId);
|
|
188
|
+
if (!stepDef) {
|
|
189
|
+
logger.error(`[Pipeline:Dynamic:Step] Step 定义未找到:${currentStep.stepDefinitionId}`);
|
|
190
|
+
return { advanced: false };
|
|
191
|
+
}
|
|
192
|
+
// 检测 Step 是否完成(检查完成信号)
|
|
193
|
+
const isStepDone = this.detectStepCompletion(stepDef, event);
|
|
194
|
+
if (!isStepDone) {
|
|
195
|
+
return { advanced: false };
|
|
196
|
+
}
|
|
197
|
+
logger.info(`[Pipeline:Dynamic:Step] 检测到步骤完成信号:${stepDef.name}`);
|
|
198
|
+
// 运行 Step 验证
|
|
199
|
+
const validationResult = await this.stepValidator.validate(stepDef, currentStep, pipeline.projectPath, pipeline.complexity);
|
|
200
|
+
if (!validationResult.passed) {
|
|
201
|
+
// 验证失败,检查是否需要重试
|
|
202
|
+
const maxRetries = stepDef.max_retries ?? 3;
|
|
203
|
+
if (currentStep.attempts < maxRetries) {
|
|
204
|
+
this.stepOrchestrator.retryStep(currentStep);
|
|
205
|
+
logger.warn(`[Pipeline:Dynamic:Step] 步骤验证失败,重试(${currentStep.attempts}/${maxRetries})`);
|
|
206
|
+
return {
|
|
207
|
+
advanced: false,
|
|
208
|
+
systemMessage: `[Forge:Step] 步骤 "${stepDef.name}" 验证失败,正在重试(${currentStep.attempts}/${maxRetries})\n\n${validationResult.summary}`,
|
|
209
|
+
};
|
|
210
|
+
}
|
|
211
|
+
else {
|
|
212
|
+
// 超过重试次数,需要人工介入
|
|
213
|
+
currentStep.status = 'need_human';
|
|
214
|
+
logger.error(`[Pipeline:Dynamic:Step] 步骤验证失败且已达最大重试次数`);
|
|
215
|
+
return {
|
|
216
|
+
advanced: false,
|
|
217
|
+
blocking: true,
|
|
218
|
+
systemMessage: `[Pipeline 已阻断] 步骤 "${stepDef.name}" 验证失败且已达最大重试次数(${maxRetries})\n\n${validationResult.summary}\n\n需要人工介入修复问题后重启 Pipeline。`,
|
|
219
|
+
};
|
|
220
|
+
}
|
|
221
|
+
}
|
|
222
|
+
// 验证通过,标记完成并推进到下一步
|
|
223
|
+
const outputs = this.collectStepOutputs(stepDef, pipeline);
|
|
224
|
+
this.stepOrchestrator.markStepCompleted(currentStep, outputs);
|
|
225
|
+
this.stepOrchestrator.advanceToNextStep(pipeline, currentNode, currentStep);
|
|
226
|
+
logger.info(`[Pipeline:Dynamic:Step] 步骤完成:${stepDef.name}`);
|
|
227
|
+
return {
|
|
228
|
+
advanced: false, // 不推进 Node,继续执行下一个 Step
|
|
229
|
+
systemMessage: `[Forge:Step] 步骤 "${stepDef.name}" 已完成,开始下一步`,
|
|
230
|
+
};
|
|
231
|
+
}
|
|
232
|
+
/**
|
|
233
|
+
* 传统模式的推进逻辑(原有逻辑)
|
|
234
|
+
*/
|
|
235
|
+
async checkAndAdvanceTraditional(pipeline, currentNode, nodeType, event, qualityGate, key) {
|
|
236
|
+
// ── 无写入进展熔断器 ──────────────────────────────────────────────────────
|
|
237
|
+
const nonWriteCount = this.consecutiveNonWriteCount.get(key) || 0;
|
|
238
|
+
const stage = this.artifactStage.get(key) ?? 'uninitialized';
|
|
239
|
+
if (nonWriteCount >= DynamicNodeExecutor.CONSECUTIVE_NON_WRITE_BLOCK && stage !== 'ready') {
|
|
240
|
+
// 骨架已存在但 Claude 仍不写入 → 硬阻断
|
|
241
|
+
logger.error(`[Pipeline:Dynamic:Node] ❌ 熔断:节点 ${currentNode.nodeTypeId} 连续 ${nonWriteCount} 次非写入工具调用`);
|
|
242
|
+
const requiredArtifacts = nodeType.expected_artifacts?.filter(c => c.required !== false) ?? [];
|
|
243
|
+
const artifactList = requiredArtifacts.map(c => {
|
|
244
|
+
const pathHint = this.formatPathRequirement(c.path_pattern);
|
|
245
|
+
return `- ${c.description}${pathHint}`;
|
|
246
|
+
}).join('\n');
|
|
247
|
+
return {
|
|
248
|
+
advanced: false,
|
|
249
|
+
blocking: true,
|
|
250
|
+
systemMessage: `[Pipeline 已阻断] 检测到连续 ${nonWriteCount} 次非写入工具调用,流程已熔断。
|
|
251
|
+
|
|
252
|
+
必需产物:
|
|
253
|
+
${artifactList}
|
|
254
|
+
|
|
255
|
+
骨架文件已自动创建,请立即使用 Edit 工具将分析内容写入上述文件,然后执行 echo "FORGE_NODE_DONE"。`,
|
|
256
|
+
};
|
|
257
|
+
}
|
|
258
|
+
if (nonWriteCount >= DynamicNodeExecutor.CONSECUTIVE_NON_WRITE_WARN && stage !== 'ready') {
|
|
259
|
+
// 警告:即将熔断,注入一次性提醒
|
|
260
|
+
logger.warn(`[Pipeline:Dynamic:Node] ⚠️ 熔断预警:节点 ${currentNode.nodeTypeId} 连续 ${nonWriteCount} 次非写入(阈值 ${DynamicNodeExecutor.CONSECUTIVE_NON_WRITE_BLOCK})`);
|
|
261
|
+
const requiredArtifacts = nodeType.expected_artifacts?.filter(c => c.required !== false) ?? [];
|
|
262
|
+
const artifactList = requiredArtifacts.map(c => {
|
|
263
|
+
const pathHint = this.formatPathRequirement(c.path_pattern);
|
|
264
|
+
return `- ${c.description}${pathHint}`;
|
|
265
|
+
}).join('\n');
|
|
266
|
+
return {
|
|
267
|
+
advanced: false,
|
|
268
|
+
systemMessage: `[Forge 提醒] 已连续 ${nonWriteCount} 次未执行写入操作(还有 ${DynamicNodeExecutor.CONSECUTIVE_NON_WRITE_BLOCK - nonWriteCount} 次后将强制阻断)。
|
|
269
|
+
|
|
270
|
+
请立即使用 Edit 工具将调研内容写入以下产物文件:
|
|
271
|
+
${artifactList}
|
|
272
|
+
|
|
273
|
+
写入后继续调研,完成后执行 echo "FORGE_NODE_DONE"。`,
|
|
274
|
+
};
|
|
275
|
+
}
|
|
100
276
|
// 使用 CompletionEngine 综合决策
|
|
101
277
|
const artifacts = this.artifactCollector.getArtifacts(key);
|
|
102
278
|
const eventCount = this.nodeEventCounts.get(key) || 0;
|
|
@@ -108,7 +284,8 @@ export class DynamicNodeExecutor {
|
|
|
108
284
|
const validation = this.artifactValidator.validate(artifacts, nodeType.expected_artifacts, pipeline.complexity);
|
|
109
285
|
if (!decision.shouldAdvance) {
|
|
110
286
|
// 产物验证失败且达到最大重试次数 → 硬阻断
|
|
111
|
-
|
|
287
|
+
// 仅在 enriching/ready 阶段(已有写入行为)才触发重试门禁,避免 uninitialized/bootstrapped 阶段过早锁死
|
|
288
|
+
if (!validation.passed && pipeline.complexity !== 'simple' && (stage === 'enriching' || stage === 'ready')) {
|
|
112
289
|
const retryKey = `${pipeline.id}:${currentNode.id}`;
|
|
113
290
|
const retries = this.artifactRetryCount.get(retryKey) ?? 0;
|
|
114
291
|
if (retries >= DynamicNodeExecutor.MAX_ARTIFACT_RETRIES) {
|
|
@@ -168,7 +345,8 @@ ${artifactList || missing}
|
|
|
168
345
|
summary: `完成节点:${nodeType.name},产出 ${artifacts.length} 个产物(${decision.method},置信度 ${decision.confidence}%)`,
|
|
169
346
|
};
|
|
170
347
|
// 产物验证失败:simple 任务放行,moderate/complex 任务强制重新生成
|
|
171
|
-
|
|
348
|
+
// 仅在 enriching/ready 阶段(已有写入行为)才触发重试门禁,避免 uninitialized/bootstrapped 阶段过早锁死
|
|
349
|
+
if (!validation.passed && pipeline.complexity !== 'simple' && (stage === 'enriching' || stage === 'ready')) {
|
|
172
350
|
const retryKey = `${pipeline.id}:${currentNode.id}`;
|
|
173
351
|
const retries = this.artifactRetryCount.get(retryKey) ?? 0;
|
|
174
352
|
if (retries < DynamicNodeExecutor.MAX_ARTIFACT_RETRIES) {
|
|
@@ -272,6 +450,42 @@ ${missingList}
|
|
|
272
450
|
nodeOutput: JSON.stringify(nodeOutput), // 序列化为 JSON 字符串
|
|
273
451
|
};
|
|
274
452
|
}
|
|
453
|
+
// ─── Step 模式辅助方法 ────────────────────────────────────────────────────────
|
|
454
|
+
/**
|
|
455
|
+
* 检测 Step 是否完成(检查完成信号)
|
|
456
|
+
*/
|
|
457
|
+
detectStepCompletion(stepDef, event) {
|
|
458
|
+
const signal = stepDef.done_definition.signal || 'FORGE_STEP_DONE';
|
|
459
|
+
// 检查 Bash 命令中是否包含完成信号
|
|
460
|
+
if (event.tool_name === 'Bash') {
|
|
461
|
+
const command = event.tool_input?.command;
|
|
462
|
+
if (typeof command === 'string' && command.includes(signal)) {
|
|
463
|
+
return true;
|
|
464
|
+
}
|
|
465
|
+
}
|
|
466
|
+
// TODO: 支持其他完成检测方式(required_artifacts、custom_detector)
|
|
467
|
+
return false;
|
|
468
|
+
}
|
|
469
|
+
/**
|
|
470
|
+
* 收集 Step 的输出产物
|
|
471
|
+
*/
|
|
472
|
+
collectStepOutputs(stepDef, pipeline) {
|
|
473
|
+
const outputs = {};
|
|
474
|
+
// 从 expected_artifacts 中收集已生成的产物路径
|
|
475
|
+
if (stepDef.expected_artifacts) {
|
|
476
|
+
for (const artifact of stepDef.expected_artifacts) {
|
|
477
|
+
if (artifact.path_pattern) {
|
|
478
|
+
const fullPath = path.isAbsolute(artifact.path_pattern)
|
|
479
|
+
? artifact.path_pattern
|
|
480
|
+
: path.join(pipeline.projectPath, artifact.path_pattern);
|
|
481
|
+
if (fs.existsSync(fullPath)) {
|
|
482
|
+
outputs[artifact.type] = fullPath;
|
|
483
|
+
}
|
|
484
|
+
}
|
|
485
|
+
}
|
|
486
|
+
}
|
|
487
|
+
return outputs;
|
|
488
|
+
}
|
|
275
489
|
/**
|
|
276
490
|
* 清理节点执行器缓存
|
|
277
491
|
*/
|
|
@@ -285,6 +499,11 @@ ${missingList}
|
|
|
285
499
|
this.nodeWriteEditCounts.delete(key);
|
|
286
500
|
this.recentTools.delete(key);
|
|
287
501
|
this.artifactRetryCount.delete(key);
|
|
502
|
+
this.lastActivityAt.delete(key);
|
|
503
|
+
this.lastArtifactAt.delete(key);
|
|
504
|
+
this.recentEvents.delete(key);
|
|
505
|
+
this.artifactStage.delete(key);
|
|
506
|
+
this.consecutiveNonWriteCount.delete(key);
|
|
288
507
|
this.artifactCollector.clear(key);
|
|
289
508
|
}
|
|
290
509
|
}
|
|
@@ -303,6 +522,13 @@ ${missingList}
|
|
|
303
522
|
}
|
|
304
523
|
return false;
|
|
305
524
|
}
|
|
525
|
+
/**
|
|
526
|
+
* 获取当前节点的产物阶段(用于 PreToolUse 门禁判断)
|
|
527
|
+
*/
|
|
528
|
+
getArtifactStage(pipelineId, nodeId) {
|
|
529
|
+
const key = `${pipelineId}:${nodeId}`;
|
|
530
|
+
return this.artifactStage.get(key) ?? 'uninitialized';
|
|
531
|
+
}
|
|
306
532
|
/**
|
|
307
533
|
* 重置修复次数
|
|
308
534
|
*/
|
|
@@ -383,6 +609,18 @@ ${missingList}
|
|
|
383
609
|
this.nodeWriteEditCounts.set(key, writeEditCount);
|
|
384
610
|
// 更新最后产物生成时间
|
|
385
611
|
this.lastArtifactAt.set(key, Date.now());
|
|
612
|
+
// 重置连续非写入计数
|
|
613
|
+
this.consecutiveNonWriteCount.set(key, 0);
|
|
614
|
+
// 推进产物阶段
|
|
615
|
+
const stage = this.artifactStage.get(key) ?? 'uninitialized';
|
|
616
|
+
if (stage === 'uninitialized' || stage === 'bootstrapped') {
|
|
617
|
+
this.artifactStage.set(key, 'enriching');
|
|
618
|
+
}
|
|
619
|
+
}
|
|
620
|
+
else {
|
|
621
|
+
// 非写入工具:递增熔断计数
|
|
622
|
+
const nonWriteCount = (this.consecutiveNonWriteCount.get(key) || 0) + 1;
|
|
623
|
+
this.consecutiveNonWriteCount.set(key, nonWriteCount);
|
|
386
624
|
}
|
|
387
625
|
// 追踪最近 5 次工具
|
|
388
626
|
const recent = this.recentTools.get(key) || [];
|
|
@@ -433,6 +671,8 @@ ${missingList}
|
|
|
433
671
|
}
|
|
434
672
|
/**
|
|
435
673
|
* 兜底:首次进入节点时自动创建必需产物骨架,并登记到 ArtifactCollector
|
|
674
|
+
*
|
|
675
|
+
* 改进:骨架内容满足硬约束(min_length/min_size),避免首轮即失败
|
|
436
676
|
*/
|
|
437
677
|
ensureRequiredArtifactSkeletons(key, pipeline, nodeType) {
|
|
438
678
|
const existing = this.artifactCollector.getArtifacts(key);
|
|
@@ -451,7 +691,8 @@ ${missingList}
|
|
|
451
691
|
if (!fs.existsSync(absPath)) {
|
|
452
692
|
const dir = path.dirname(absPath);
|
|
453
693
|
fs.mkdirSync(dir, { recursive: true });
|
|
454
|
-
|
|
694
|
+
// 生成满足硬约束的模板(> 300 字符、> 300 字节)
|
|
695
|
+
const template = this.generateRichTemplate(nodeType, pipeline.requirement);
|
|
455
696
|
fs.writeFileSync(absPath, template, 'utf-8');
|
|
456
697
|
created.push(relPath);
|
|
457
698
|
}
|
|
@@ -475,9 +716,59 @@ ${missingList}
|
|
|
475
716
|
if (created.length > 0) {
|
|
476
717
|
logger.info(`[Pipeline:Dynamic:Node] 🧩 自动创建产物骨架:${created.join(', ')}`);
|
|
477
718
|
this.lastArtifactAt.set(key, Date.now());
|
|
719
|
+
this.artifactStage.set(key, 'bootstrapped');
|
|
478
720
|
}
|
|
479
721
|
return created;
|
|
480
722
|
}
|
|
723
|
+
/**
|
|
724
|
+
* 生成满足硬约束的富文本模板(> 300 字符、> 300 字节)
|
|
725
|
+
*/
|
|
726
|
+
generateRichTemplate(nodeType, requirement) {
|
|
727
|
+
const now = new Date().toISOString().split('T')[0];
|
|
728
|
+
// 截取需求前 200 字符作为上下文
|
|
729
|
+
const reqPreview = requirement.length > 200 ? requirement.slice(0, 200) + '...' : requirement;
|
|
730
|
+
return `# ${nodeType.name}
|
|
731
|
+
|
|
732
|
+
## 背景与目标
|
|
733
|
+
|
|
734
|
+
**需求概述**:
|
|
735
|
+
${reqPreview}
|
|
736
|
+
|
|
737
|
+
**分析目标**:
|
|
738
|
+
- 理解当前系统架构和实现细节
|
|
739
|
+
- 识别潜在问题和优化空间
|
|
740
|
+
- 提出可行的改进方案
|
|
741
|
+
|
|
742
|
+
## 评审维度
|
|
743
|
+
|
|
744
|
+
### 1. 架构合理性
|
|
745
|
+
- 模块划分
|
|
746
|
+
- 分层设计
|
|
747
|
+
- 可扩展性
|
|
748
|
+
|
|
749
|
+
### 2. 代码质量
|
|
750
|
+
- 代码规范
|
|
751
|
+
- 命名规范
|
|
752
|
+
- 注释完整性
|
|
753
|
+
|
|
754
|
+
### 3. 系统质量
|
|
755
|
+
- 功能完整性
|
|
756
|
+
- 业务逻辑正确性
|
|
757
|
+
- 容错能力
|
|
758
|
+
|
|
759
|
+
## 证据记录
|
|
760
|
+
|
|
761
|
+
(待补充:调研过程中发现的关键代码、配置、数据流等)
|
|
762
|
+
|
|
763
|
+
## 风险与建议
|
|
764
|
+
|
|
765
|
+
(待补充:识别的风险点和优化建议)
|
|
766
|
+
|
|
767
|
+
---
|
|
768
|
+
生成时间:${now}
|
|
769
|
+
状态:待完善
|
|
770
|
+
`;
|
|
771
|
+
}
|
|
481
772
|
/** 根据 path_pattern 推导骨架文件路径 */
|
|
482
773
|
resolveSkeletonPath(constraint) {
|
|
483
774
|
const pattern = constraint.path_pattern;
|
|
@@ -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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"}
|