@winspan/claude-forge 1.48.0 → 1.52.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.
@@ -1,22 +1,10 @@
1
- import { PipelineStore } from '../../pipeline/store.js';
2
- import { PHASE_LABELS } from '../../pipeline/types.js';
3
- import { pendingPromptsManager } from '../../daemon/pending-prompts.js';
4
1
  import { QUERY_LIMIT } from '../../constants.js';
5
2
  import { validateArray, validateStringLength } from '../utils/validation.js';
6
3
  import { handleError } from '../utils/errors.js';
7
- const getPhaseLabel = (phase) => PHASE_LABELS[phase] || phase;
8
4
  export function registerPipelineRoutes(app, storage, pipelineEngine) {
9
- const store = new PipelineStore(storage);
10
- // 获取所有活跃 Pipeline(Legacy + Dynamic 合并)
5
+ // 获取所有活跃 Pipeline(仅 Dynamic Pipeline)
11
6
  app.get('/api/pipelines/active', (req, res) => {
12
7
  try {
13
- // Legacy 活跃 Pipeline
14
- const legacyActive = store.listActive().map(p => ({
15
- ...p,
16
- type: 'legacy',
17
- phaseLabel: getPhaseLabel(p.phase) || p.phase,
18
- project: p.projectPath?.split('/').pop(),
19
- }));
20
8
  // Dynamic 活跃 Pipeline(含节点配置摘要)
21
9
  const dynamicActive = storage.repositories.dynamicPipelines.listActive().map(p => {
22
10
  // 查询节点信息
@@ -46,39 +34,20 @@ export function registerPipelineRoutes(app, storage, pipelineEngine) {
46
34
  },
47
35
  };
48
36
  });
49
- const items = [...legacyActive, ...dynamicActive].sort((a, b) => new Date(b.updatedAt).getTime() - new Date(a.updatedAt).getTime());
37
+ const items = dynamicActive.sort((a, b) => new Date(b.updatedAt).getTime() - new Date(a.updatedAt).getTime());
50
38
  res.json({ total: items.length, items });
51
39
  }
52
40
  catch (err) {
53
41
  handleError(err, res, 'pipelines');
54
42
  }
55
43
  });
56
- // 获取 Pipeline 列表(含已完成,合并主库+历史库,支持 Legacy 和 Dynamic Pipeline)
44
+ // 获取 Pipeline 列表(含已完成,合并主库+历史库,仅 Dynamic Pipeline)
57
45
  app.get('/api/pipelines', (req, res) => {
58
46
  try {
59
47
  const { search, status, complexity, project_path } = req.query;
60
48
  const page = Math.max(1, parseInt(String(req.query.page || '1'), 10));
61
49
  const pageSize = Math.min(100, Math.max(1, parseInt(String(req.query.page_size || '50'), 10)));
62
50
  const fetchLimit = 2000;
63
- // 构建 Legacy Pipeline 筛选条件
64
- const legacyConds = [];
65
- const legacyParams = [];
66
- if (complexity && typeof complexity === 'string') {
67
- legacyConds.push('complexity = ?');
68
- legacyParams.push(complexity);
69
- }
70
- if (search && typeof search === 'string') {
71
- legacyConds.push('requirement LIKE ?');
72
- legacyParams.push(`%${search}%`);
73
- }
74
- if (project_path && typeof project_path === 'string') {
75
- legacyConds.push('project_path = ?');
76
- legacyParams.push(project_path);
77
- }
78
- if (status === 'active')
79
- legacyConds.push("phase != 'done'");
80
- else if (status === 'completed')
81
- legacyConds.push("phase = 'done'");
82
51
  // 构建 Dynamic Pipeline 筛选条件
83
52
  const dynamicConds = [];
84
53
  const dynamicParams = [];
@@ -98,54 +67,35 @@ export function registerPipelineRoutes(app, storage, pipelineEngine) {
98
67
  dynamicConds.push("status != 'completed'");
99
68
  else if (status === 'completed')
100
69
  dynamicConds.push("status = 'completed'");
101
- // 从主库+历史库查询 Legacy Pipeline
102
- const legacyRows = storage.queryWithHistory('pipelines', legacyConds.length > 0 ? legacyConds.join(' AND ') : '1=1', legacyParams, 'updated_at DESC', fetchLimit);
103
70
  // 从主库+历史库查询 Dynamic Pipeline
104
71
  const dynamicRows = storage.queryWithHistory('dynamic_pipelines', dynamicConds.length > 0 ? dynamicConds.join(' AND ') : '1=1', dynamicParams, 'updated_at DESC', fetchLimit);
105
- // 合并两种 Pipeline,按 updated_at 排序
106
- const allPipelines = [
107
- ...legacyRows.map(r => ({
72
+ // 转换为统一格式
73
+ const allPipelines = dynamicRows.map(r => {
74
+ const nodes = storage.getDatabase()
75
+ .prepare('SELECT node_type_id, status, bound_skill_name FROM dynamic_nodes WHERE pipeline_id = ? ORDER BY created_at ASC')
76
+ .all(r.id);
77
+ return {
108
78
  id: r.id,
109
- type: 'legacy',
79
+ type: 'dynamic',
110
80
  requirement: r.requirement?.slice(0, 100),
111
81
  project: r.project_path?.split('/').pop(),
112
82
  projectPath: r.project_path,
113
83
  sessionId: r.session_id,
114
- phase: r.phase,
115
- phaseLabel: getPhaseLabel(r.phase) || r.phase,
116
- taskType: r.task_type,
84
+ phase: undefined,
85
+ phaseLabel: undefined,
86
+ taskType: undefined,
117
87
  complexity: r.complexity,
118
- status: r.phase === 'done' ? 'completed' : 'active',
88
+ status: r.status,
119
89
  createdAt: r.created_at,
120
90
  updatedAt: r.updated_at,
121
- })),
122
- ...dynamicRows.map(r => {
123
- const nodes = storage.getDatabase()
124
- .prepare('SELECT node_type_id, status, bound_skill_name FROM dynamic_nodes WHERE pipeline_id = ? ORDER BY created_at ASC')
125
- .all(r.id);
126
- return {
127
- id: r.id,
128
- type: 'dynamic',
129
- requirement: r.requirement?.slice(0, 100),
130
- project: r.project_path?.split('/').pop(),
131
- projectPath: r.project_path,
132
- sessionId: r.session_id,
133
- phase: undefined,
134
- phaseLabel: undefined,
135
- taskType: undefined,
136
- complexity: r.complexity,
137
- status: r.status,
138
- createdAt: r.created_at,
139
- updatedAt: r.updated_at,
140
- nodeConfig: {
141
- totalNodes: nodes.length,
142
- completedNodes: nodes.filter(n => n.status === 'completed').length,
143
- nodeTypes: nodes.map(n => n.node_type_id),
144
- boundSkills: nodes.map(n => n.bound_skill_name).filter(Boolean),
145
- },
146
- };
147
- }),
148
- ].sort((a, b) => {
91
+ nodeConfig: {
92
+ totalNodes: nodes.length,
93
+ completedNodes: nodes.filter(n => n.status === 'completed').length,
94
+ nodeTypes: nodes.map(n => n.node_type_id),
95
+ boundSkills: nodes.map(n => n.bound_skill_name).filter(Boolean),
96
+ },
97
+ };
98
+ }).sort((a, b) => {
149
99
  const aTime = new Date(a.updatedAt).getTime();
150
100
  const bTime = new Date(b.updatedAt).getTime();
151
101
  return bTime - aTime;
@@ -159,20 +109,13 @@ export function registerPipelineRoutes(app, storage, pipelineEngine) {
159
109
  handleError(err, res, 'pipelines-list');
160
110
  }
161
111
  });
162
- // 获取 Pipeline 详情(支持 Legacy 和 Dynamic Pipeline,含历史库)
112
+ // 获取 Pipeline 详情(仅 Dynamic Pipeline,含历史库)
163
113
  app.get('/api/pipelines/:id', (req, res) => {
164
114
  try {
165
115
  const id = Array.isArray(req.params.id) ? req.params.id[0] : req.params.id;
166
- // 先尝试从 Legacy Pipeline 表查询(主库 + 历史库)
167
- let rows = storage.queryWithHistory('pipelines', 'id = ?', [id], 'id', 1);
168
- let row = rows[0];
169
- let pipelineType = 'legacy';
170
- // 如果不是 Legacy Pipeline,尝试从 Dynamic Pipeline 表查询(主库 + 历史库)
171
- if (!row) {
172
- rows = storage.queryWithHistory('dynamic_pipelines', 'id = ?', [id], 'id', 1);
173
- row = rows[0];
174
- pipelineType = 'dynamic';
175
- }
116
+ // Dynamic Pipeline 表查询(主库 + 历史库)
117
+ const rows = storage.queryWithHistory('dynamic_pipelines', 'id = ?', [id], 'id', 1);
118
+ const row = rows[0];
176
119
  if (!row) {
177
120
  return res.status(404).json({ error: 'Pipeline 不存在' });
178
121
  }
@@ -212,113 +155,66 @@ export function registerPipelineRoutes(app, storage, pipelineEngine) {
212
155
  : null,
213
156
  };
214
157
  });
215
- // 根据 Pipeline 类型返回不同的响应
216
- if (pipelineType === 'legacy') {
217
- const tasks = store.getTasks(id);
218
- const phaseTimings = {};
219
- for (const task of tasks) {
220
- if (!phaseTimings[task.phase]) {
221
- phaseTimings[task.phase] = { events: 0, writes: 0 };
222
- }
223
- }
224
- res.json({
225
- type: 'legacy',
226
- id: row.id,
227
- requirement: row.requirement,
228
- projectPath: row.project_path,
229
- sessionId,
230
- phase: row.phase,
231
- phaseLabel: getPhaseLabel(row.phase),
232
- taskType: row.task_type,
233
- complexity: row.complexity,
234
- createdAt: row.created_at,
235
- updatedAt: row.updated_at,
236
- tasks: tasks.map(t => ({
237
- ...t,
238
- phaseLabel: getPhaseLabel(t.phase),
239
- })),
240
- events: eventSummary,
241
- artifacts: uniqueArtifacts,
242
- qualityIssues: qualityIssues.map(q => ({
243
- level: q.level,
244
- category: q.category,
245
- message: q.message,
246
- resolved: q.resolved,
247
- createdAt: q.created_at,
248
- })),
249
- stats: {
250
- totalEvents: events.length,
251
- totalTasks: tasks.length,
252
- completedTasks: tasks.filter(t => t.status === 'completed').length,
253
- totalArtifacts: uniqueArtifacts.length,
254
- totalQualityIssues: qualityIssues.length,
255
- unresolvedQuality: qualityIssues.filter(q => !q.resolved).length,
256
- },
257
- });
258
- }
259
- else {
260
- // Dynamic Pipeline — 节点也需要查历史库
261
- const nodesRows = storage.queryWithHistory('dynamic_nodes', 'pipeline_id = ?', [id], 'created_at ASC', 500);
262
- const nodes = nodesRows.map(n => ({
263
- id: n.id,
264
- nodeTypeId: n.node_type_id,
265
- status: n.status,
266
- dependencies: JSON.parse(n.dependencies || '[]'),
267
- boundSkillName: n.bound_skill_name,
268
- output: n.output,
269
- startedAt: n.started_at,
270
- completedAt: n.completed_at,
271
- createdAt: n.created_at,
272
- updatedAt: n.updated_at,
273
- }));
274
- res.json({
275
- type: 'dynamic',
276
- id: row.id,
277
- requirement: row.requirement,
278
- projectPath: row.project_path,
279
- sessionId,
280
- templateId: row.template_id,
281
- conventionId: row.convention_id,
282
- complexity: row.complexity,
283
- reasoning: row.reasoning,
284
- status: row.status,
285
- currentNodeId: row.current_node_id,
286
- createdAt: row.created_at,
287
- updatedAt: row.updated_at,
288
- nodes,
289
- events: eventSummary,
290
- artifacts: uniqueArtifacts,
291
- qualityIssues: qualityIssues.map(q => ({
292
- level: q.level,
293
- category: q.category,
294
- message: q.message,
295
- resolved: q.resolved,
296
- createdAt: q.created_at,
297
- })),
298
- stats: {
299
- totalEvents: events.length,
300
- totalNodes: nodes.length,
301
- completedNodes: nodes.filter(n => n.status === 'completed').length,
302
- totalArtifacts: uniqueArtifacts.length,
303
- totalQualityIssues: qualityIssues.length,
304
- unresolvedQuality: qualityIssues.filter(q => !q.resolved).length,
305
- },
306
- });
307
- }
158
+ // Dynamic Pipeline — 节点也需要查历史库
159
+ const nodesRows = storage.queryWithHistory('dynamic_nodes', 'pipeline_id = ?', [id], 'created_at ASC', 500);
160
+ const nodes = nodesRows.map(n => ({
161
+ id: n.id,
162
+ nodeTypeId: n.node_type_id,
163
+ status: n.status,
164
+ dependencies: JSON.parse(n.dependencies || '[]'),
165
+ boundSkillName: n.bound_skill_name,
166
+ output: n.output,
167
+ startedAt: n.started_at,
168
+ completedAt: n.completed_at,
169
+ createdAt: n.created_at,
170
+ updatedAt: n.updated_at,
171
+ }));
172
+ res.json({
173
+ type: 'dynamic',
174
+ id: row.id,
175
+ requirement: row.requirement,
176
+ projectPath: row.project_path,
177
+ sessionId,
178
+ templateId: row.template_id,
179
+ conventionId: row.convention_id,
180
+ complexity: row.complexity,
181
+ reasoning: row.reasoning,
182
+ status: row.status,
183
+ createdAt: row.created_at,
184
+ updatedAt: row.updated_at,
185
+ nodes,
186
+ events: eventSummary,
187
+ artifacts: uniqueArtifacts,
188
+ qualityIssues: qualityIssues.map(q => ({
189
+ level: q.level,
190
+ category: q.category,
191
+ message: q.message,
192
+ resolved: q.resolved,
193
+ createdAt: q.created_at,
194
+ })),
195
+ stats: {
196
+ totalEvents: events.length,
197
+ totalNodes: nodes.length,
198
+ completedNodes: nodes.filter(n => n.status === 'completed').length,
199
+ totalArtifacts: uniqueArtifacts.length,
200
+ totalQualityIssues: qualityIssues.length,
201
+ unresolvedQuality: qualityIssues.filter(q => !q.resolved).length,
202
+ },
203
+ });
308
204
  }
309
205
  catch (err) {
310
206
  handleError(err, res, 'pipelines');
311
207
  }
312
208
  });
313
- // 批量关闭 Pipeline
314
- app.post('/api/pipelines/batch-close', (req, res) => {
209
+ // 批量关闭 Pipeline(仅 Dynamic Pipeline)
210
+ app.post('/api/pipelines/batch-close', async (req, res) => {
315
211
  try {
316
212
  const { ids } = req.body;
317
213
  validateArray(ids, 'ids', 100, 1);
318
214
  let closed = 0;
319
215
  for (const id of ids) {
320
216
  try {
321
- store.closeById(id);
217
+ await storage.repositories.dynamicPipelines.close(id, 'completed');
322
218
  closed++;
323
219
  }
324
220
  catch {
@@ -331,85 +227,37 @@ export function registerPipelineRoutes(app, storage, pipelineEngine) {
331
227
  handleError(err, res, 'pipelines-batch-close');
332
228
  }
333
229
  });
334
- // 关闭 Pipeline
335
- app.post('/api/pipelines/:id/close', (req, res) => {
230
+ // 关闭 Pipeline(仅 Dynamic Pipeline)
231
+ app.post('/api/pipelines/:id/close', async (req, res) => {
336
232
  try {
337
233
  const id = Array.isArray(req.params.id) ? req.params.id[0] : req.params.id;
338
- store.closeById(id);
234
+ await storage.repositories.dynamicPipelines.close(id, 'completed');
339
235
  res.json({ success: true, message: 'Pipeline 已关闭' });
340
236
  }
341
237
  catch (err) {
342
238
  handleError(err, res, 'pipelines');
343
239
  }
344
240
  });
345
- // 关闭所有过期 Pipeline
346
- app.post('/api/pipelines/close-expired', (req, res) => {
347
- try {
348
- const closed = store.closeExpired();
349
- res.json({ success: true, closed, message: `已关闭 ${closed} 个过期 Pipeline` });
350
- }
351
- catch (err) {
352
- handleError(err, res, 'pipelines');
353
- }
354
- });
355
- // 更新任务状态
356
- app.post('/api/pipelines/tasks/:taskId/status', (req, res) => {
241
+ // 关闭所有过期 Pipeline(仅 Dynamic Pipeline)
242
+ app.post('/api/pipelines/close-expired', async (req, res) => {
357
243
  try {
358
- const taskId = Array.isArray(req.params.taskId) ? req.params.taskId[0] : req.params.taskId;
359
- const { status } = req.body;
360
- if (!['pending', 'in_progress', 'completed'].includes(status)) {
361
- return res.status(400).json({ error: '无效的状态值' });
362
- }
363
- const task = store.getTask(taskId);
364
- if (!task) {
365
- return res.status(404).json({ error: '任务不存在' });
366
- }
367
- const success = store.updateTaskStatus(taskId, status);
368
- if (success) {
369
- const updatedTask = store.getTask(taskId);
370
- res.json({ success: true, message: '任务状态已更新', task: updatedTask });
371
- }
372
- else {
373
- res.status(500).json({ error: '更新失败' });
374
- }
375
- }
376
- catch (err) {
377
- handleError(err, res, 'pipelines');
378
- }
379
- });
380
- // 继续执行 Pipeline(注入提示)
381
- app.post('/api/pipelines/:id/resume', (req, res) => {
382
- try {
383
- const id = Array.isArray(req.params.id) ? req.params.id[0] : req.params.id;
384
- const db = storage.getDatabase();
385
- const row = db.prepare('SELECT * FROM pipelines WHERE id = ?').get(id);
386
- if (!row) {
387
- return res.status(404).json({ error: 'Pipeline 不存在' });
388
- }
389
- const sessionId = row.session_id;
390
- const tasks = store.getTasks(id);
391
- const currentTask = tasks.find(t => t.status === 'in_progress') || tasks.find(t => t.status === 'pending');
392
- if (!currentTask) {
393
- return res.status(400).json({ error: '没有待执行的任务' });
394
- }
395
- // 生成提示词
396
- const prompt = `[Forge Pipeline 自动继续]
397
-
398
- 请继续执行 Pipeline:
399
- - Pipeline ID: ${id}
400
- - 当前阶段: ${row.phase}
401
- - 待执行任务: ${currentTask.title}
402
- - 任务描述: ${currentTask.description}
403
-
404
- 请立即开始执行该任务,完成后继续执行后续任务。`;
405
- // 添加到待注入队列
406
- const promptId = pendingPromptsManager.add(prompt, sessionId);
407
- res.json({
408
- success: true,
409
- message: '已添加到执行队列,下次工具调用时自动注入',
410
- promptId,
411
- task: currentTask,
244
+ const expiredPipelines = storage.repositories.dynamicPipelines.listActive().filter(p => {
245
+ const updatedAt = new Date(p.updatedAt).getTime();
246
+ const now = Date.now();
247
+ const expireMs = 24 * 60 * 60 * 1000; // 24小时
248
+ return now - updatedAt > expireMs;
412
249
  });
250
+ let closed = 0;
251
+ for (const p of expiredPipelines) {
252
+ try {
253
+ await storage.repositories.dynamicPipelines.close(p.id, 'completed');
254
+ closed++;
255
+ }
256
+ catch {
257
+ // 忽略失败
258
+ }
259
+ }
260
+ res.json({ success: true, closed, message: `已关闭 ${closed} 个过期 Pipeline` });
413
261
  }
414
262
  catch (err) {
415
263
  handleError(err, res, 'pipelines');
@@ -1 +1 @@
1
- {"version":3,"file":"pipelines.js","sourceRoot":"","sources":["../../../src/web/routes/pipelines.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pipelines.js","sourceRoot":"","sources":["../../../src/web/routes/pipelines.ts"],"names":[],"mappings":"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"}