@winspan/claude-forge 1.97.0 → 2.1.1
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 +2 -2
- package/dist/convention/types.d.ts +9 -0
- package/dist/convention/types.d.ts.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 +23 -0
- package/dist/daemon/handlers/pre-tool-use-handler.js.map +1 -1
- package/dist/hooks/pre-tool-use.sh +2 -2
- package/dist/pipeline/artifact-validator.d.ts.map +1 -1
- package/dist/pipeline/artifact-validator.js +9 -0
- package/dist/pipeline/artifact-validator.js.map +1 -1
- package/dist/pipeline/dynamic-node-executor.d.ts +7 -0
- package/dist/pipeline/dynamic-node-executor.d.ts.map +1 -1
- package/dist/pipeline/dynamic-node-executor.js +60 -0
- package/dist/pipeline/dynamic-node-executor.js.map +1 -1
- package/dist/pipeline/index.d.ts +5 -0
- package/dist/pipeline/index.d.ts.map +1 -1
- package/dist/pipeline/index.js +16 -1
- package/dist/pipeline/index.js.map +1 -1
- package/dist/pipeline/node-type-registry.d.ts.map +1 -1
- package/dist/pipeline/node-type-registry.js +12 -2
- package/dist/pipeline/node-type-registry.js.map +1 -1
- package/dist/pipeline/semantic-validator.d.ts +53 -0
- package/dist/pipeline/semantic-validator.d.ts.map +1 -0
- package/dist/pipeline/semantic-validator.js +177 -0
- package/dist/pipeline/semantic-validator.js.map +1 -0
- package/dist/web-static/assets/{index-ZMoyRYxn.js → index-B6NTVybM.js} +1 -1
- package/dist/web-static/index.html +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -11,7 +11,7 @@ Claude Forge 是一个为 Claude Code 设计的智能编排引擎,通过透明
|
|
|
11
11
|
|
|
12
12
|
- 🎯 **智能意图识别** - 自动分析任务复杂度,决定执行策略(三层架构:Ground Truth 规则 + 学习规则 + AI 降级层,支持上下文感知和活跃计划检测) [x] 2026-04-24
|
|
13
13
|
- 🔄 **Pipeline 编排** - 复杂任务自动拆分为多阶段流程(分析→设计→编码→测试→审查),支持纯事件溯源架构和状态机约束,确保状态一致性,daemon 启动时自动迁移历史数据,阶段产物统一输出到 docs/时间戳/ 目录,支持动态节点系统(Convention 定义节点类型,Skill 作为执行策略,NodeTypeRegistry 聚合节点类型,DynamicNodeExecutor 驱动执行,INodeExecutor 接口统一 PhaseManager 和 DynamicNodeExecutor,DynamicAggregator 支持动态节点事件聚合,启发式完成检测增强支持 file_patterns 和 keywords,Web API 支持动态流水线创建和手动推进),管理后台深度审查与修复完成(9个核心页面4750行代码,发现28个问题,修复20个P0/P1/P2/P3问题,新增质量问题上下文查询接口,优化事件展开性能和UX体验,完成P0级数据正确性和稳定性修复),节点类型管理页面和动态流水线节点展示组件已实现,NodeTypes 页面和 PipelineDetail 动态节点展示已集成,Legacy Pipeline 迁移脚本已完成,节点类型 API 路由已注册,动态节点系统全栈集成完成,全栈集成验证通过(NodeTypes页面正常展示节点类型,PipelineDetail页面正常展示动态节点,API路由正常响应),节点类型持久化到数据库(node_types表),启动时自动恢复到内存注册表,Convention加载时同步节点类型定义,流水线节点产物约束设计与实现完成(ArtifactType定义、ArtifactConstraint约束、ArtifactCollector收集器、ArtifactValidator验证器支持复杂度驱动约束、NodeOutput结构化输出、启发式完成检测集成产物验证、Web前端展示产物列表和验证状态),DynamicPipelineRepository 支持动态流水线和节点的完整 CRUD 操作,Web 管理后台集成动态流水线 API 路由和前端展示,产物约束验证支持复杂度驱动(simple/moderate/complex 动态调整约束严格度),git 操作强制归类为 simple 复杂度,Analyzer 集成 Convention 上下文到 pipeline-decompose 提示词,产物验证器支持复杂度驱动约束动态调整,流程可控能力分析与实施方案文档已完成(审计范围覆盖 src/pipeline/*, src/autopilot/*, src/convention/*, src/daemon/handlers/*,当前满足度95%(已完成核心改进),提供MVP方案和严格模式实施路径),INodeExecutor 接口统一 PhaseManager 和 DynamicNodeExecutor 实现完成,流程可控硬阻断实现完成(产物验证失败10次重试后硬阻断、质量门禁must级别问题硬阻断、PhaseManager和DynamicNodeExecutor统一阻断传播链、post-tool-use-handler集成阻断检测和强制中断) [x] 2026-04-25
|
|
14
|
-
- 🛡️ **质量门禁** - 每个阶段自动 AI 审查,支持需求规格、安全性、代码质量、测试覆盖、性能等多维度检查,问题追踪和解决状态管理,支持上下文查询,支持 must/should 分级硬阻断(产物验证硬阻断 +
|
|
14
|
+
- 🛡️ **质量门禁** - 每个阶段自动 AI 审查,支持需求规格、安全性、代码质量、测试覆盖、性能等多维度检查,问题追踪和解决状态管理,支持上下文查询,支持 must/should 分级硬阻断(产物验证硬阻断 + 质量门禁分级阻断实现完成,代码审查通过,流程可控彻底审计报告已完成,阶段工具白名单策略已实现,Checkpoint 失败回滚机制已实现) [x] 2026-04-25
|
|
15
15
|
- 📊 **Web 管理后台** - 实时监控会话、Pipeline、质量问题(支持上下文查询和批量解决)、知识图谱、项目管理、自定义规范管理、技能管理、CLAUDE.md 管理(支持模块化查看和蒸馏压缩)、项目规范绑定管理、项目元数据管理(标签/备注/归档)、全局规范管理(同步/安装/删除/进化/YAML编辑/使用统计/进化历史)、阶段产物统一管理(docs/时间戳/目录结构+INDEX.md索引)、动态节点类型管理(NodeTypeRegistry 可视化)、TemplateRegistry 支持三种来源(builtin/user/convention)、动态流水线创建和手动推进操作、事件日志管理(查看/搜索/导出/清理)、数据库维护功能(备份/恢复/历史记录/诊断修复)、数据分析页面(会话统计、事件统计、API使用统计、成本分析、趋势图表),深度代码审查完成(9个核心页面28个问题,修复20个P0/P1/P2/P3问题,包括运行时错误、性能优化、竞态条件、UX改进、数据正确性和稳定性修复),节点类型管理页面和动态流水线节点展示组件已实现,NodeTypes 页面和 PipelineDetail 动态节点展示已集成,Legacy Pipeline 数据迁移支持已完成,节点类型 API 路由已注册,动态节点系统全栈集成完成,全栈集成验证通过(NodeTypes页面正常展示节点类型,PipelineDetail页面正常展示动态节点,API路由正常响应),节点类型持久化和恢复机制已实现,DynamicPipelineNodes组件支持产物展示(artifacts列表、验证状态、类型图标、路径链接),知识图谱页面集成完成(搜索/概览/邻居/图谱可视化/CRUD操作),Analytics 页面支持会话统计、事件统计、API使用统计和成本分析,动态流水线 API 路由完整集成(创建/查询/更新/删除/手动推进) [x] 2026-04-24
|
|
16
16
|
- 🧠 **知识积累** - 自动提炼决策日志、时间线、项目规范,支持树索引和语义检索,Web管理后台集成知识图谱页面(搜索/概览/邻居/图谱可视化/CRUD操作) [x] 2026-04-23
|
|
17
17
|
- 🎨 **技能编排** - 根据意图自动匹配并注入最佳实践(TDD、重构、调试等),支持关键词映射和命中率统计 [x] 2025-01-18
|
|
@@ -26,7 +26,7 @@ Claude Forge 是一个为 Claude Code 设计的智能编排引擎,通过透明
|
|
|
26
26
|
|------|------|
|
|
27
27
|
| 意图识别 | 自动分析任务复杂度(simple/moderate/complex),决定执行策略,三层架构(Ground Truth 规则 + 学习规则 + AI 降级层),支持上下文感知和活跃计划检测 [x] 2026-04-24 |
|
|
28
28
|
| Pipeline 编排 | 复杂任务自动拆分为多阶段流程,支持纯事件溯源、状态机约束、质量门禁、阶段产物生成(统一输出到 docs/时间戳/ 目录+INDEX.md索引)、daemon 启动时自动迁移历史数据、动态节点系统(Convention 定义节点类型,NodeTypeRegistry 聚合,DynamicNodeExecutor 驱动,Skill 作为执行策略,INodeExecutor 接口统一,TemplateRegistry 支持三种来源,启发式完成检测增强,Web API 操作端点),管理后台深度审查与修复完成(修复运行时错误、性能问题、竞态条件、UX体验、数据正确性和稳定性等20个P0/P1/P2/P3问题),节点类型管理页面和动态流水线节点展示组件已实现,NodeTypes 页面和 PipelineDetail 动态节点展示已集成,Legacy Pipeline 迁移脚本已完成,节点类型 API 路由已注册,动态节点系统全栈集成完成,全栈集成验证通过(NodeTypes页面正常展示节点类型,PipelineDetail页面正常展示动态节点,API路由正常响应),节点类型持久化到数据库(node_types表+NodeTypeRepository),启动时自动恢复到内存注册表,Convention加载时同步节点类型定义,流水线节点产物约束系统完成(ArtifactCollector追踪Write/Edit工具调用、ArtifactValidator验证产物约束支持复杂度驱动、NodeOutput结构化输出、DynamicPipelineNodes组件展示产物列表和验证状态),DynamicPipelineRepository 支持动态流水线和节点的完整 CRUD 操作,Web 管理后台动态流水线 API 路由完整注册,产物约束验证支持复杂度驱动(simple/moderate/complex 动态调整约束严格度),git 操作强制归类为 simple 复杂度,Analyzer 集成 Convention 上下文到 pipeline-decompose 提示词,产物验证器支持复杂度驱动约束动态调整,流程可控能力分析与实施方案文档已完成(审计范围覆盖 src/pipeline/*, src/autopilot/*, src/convention/*, src/daemon/handlers/*,当前满足度95%(已完成核心改进),提供MVP方案和严格模式实施路径),INodeExecutor 接口统一 PhaseManager 和 DynamicNodeExecutor 实现完成,流程可控硬阻断实现完成(产物验证失败10次重试后硬阻断、质量门禁must级别问题硬阻断、统一阻断传播链、post-tool-use-handler集成阻断检测和强制中断) [x] 2026-04-25 |
|
|
29
|
-
| 质量门禁 | 每个阶段自动 AI 审查(需求规格、安全性、代码质量、测试、性能),不合格则阻止推进,支持 must/should 分级硬阻断(产物验证失败10次重试后硬阻断、质量门禁must级别问题硬阻断、统一阻断传播链、post-tool-use-handler
|
|
29
|
+
| 质量门禁 | 每个阶段自动 AI 审查(需求规格、安全性、代码质量、测试、性能),不合格则阻止推进,支持 must/should 分级硬阻断(产物验证失败10次重试后硬阻断、质量门禁must级别问题硬阻断、统一阻断传播链、post-tool-use-handler集成阻断检测和强制中断,流程可控彻底审计报告已完成,阶段工具白名单策略已实现,Checkpoint 失败回滚机制已实现) [x] 2026-04-25 |
|
|
30
30
|
| 技能编排 | 根据意图自动匹配并注入最佳实践,支持关键词映射和命中率统计 [x] 2025-01-18 |
|
|
31
31
|
| 知识蒸馏 | 自动提炼决策日志、时间线、项目规范,支持树索引和语义检索,Web管理后台集成知识图谱页面(搜索/概览/邻居/图谱可视化/CRUD操作) [x] 2026-04-23 |
|
|
32
32
|
| 会话续接 | 中断后自动恢复上次工作状态 [x] 2025-01-18 |
|
|
@@ -123,6 +123,8 @@ export interface ArtifactConstraint {
|
|
|
123
123
|
/** 最小字符数 */
|
|
124
124
|
min_length?: number;
|
|
125
125
|
};
|
|
126
|
+
/** 最小文件大小(字节),用于防止空文件或骨架文件被当作完成 */
|
|
127
|
+
min_size_bytes?: number;
|
|
126
128
|
}
|
|
127
129
|
/** 实际产物记录 */
|
|
128
130
|
export interface Artifact {
|
|
@@ -201,6 +203,13 @@ export interface ConventionNodeType {
|
|
|
201
203
|
activity_threshold: NodeActivityThresholdSpec;
|
|
202
204
|
/** 质量门禁配置(可选) */
|
|
203
205
|
quality_gate?: NodeQualityGateConfig;
|
|
206
|
+
/** 语义一致性校验配置(可选,仅对文档产物生效) */
|
|
207
|
+
semantic_validation?: {
|
|
208
|
+
/** 是否启用语义校验(默认 true) */
|
|
209
|
+
enabled?: boolean;
|
|
210
|
+
/** 覆盖率阈值(0-100),默认按复杂度或全局默认值 */
|
|
211
|
+
min_coverage?: number;
|
|
212
|
+
};
|
|
204
213
|
/** 默认绑定的 Skill 列表(优先级低于实例固定绑定) */
|
|
205
214
|
default_skills?: string[];
|
|
206
215
|
/** 节点执行时注入的额外提示(可选) */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/convention/types.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/convention/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,MAAM,MAAM,gBAAgB,GAAG,UAAU,GAAG,MAAM,GAAG,WAAW,CAAC;AACjE,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;AAExD,wBAAwB;AACxB,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,0CAA0C;IAC1C,gBAAgB,EAAE,MAAM,CAAC;IACzB,0CAA0C;IAC1C,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,wBAAwB;AACxB,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,iDAAiD;IACjD,QAAQ,EAAE,eAAe,CAAC;IAC1B,qCAAqC;IACrC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,sBAAsB;AACtB,MAAM,WAAW,mBAAmB;IAClC,aAAa,EAAE,OAAO,CAAC;IACvB,sBAAsB,EAAE,MAAM,CAAC;CAChC;AAED;;;GAGG;AACH,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,gBAAgB,CAAC;IAEzB;;;OAGG;IACH,UAAU,EAAE,MAAM,CAAC;IAEnB;;;OAGG;IACH,aAAa,EAAE,MAAM,CAAC;IAEtB;;;OAGG;IACH,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IAEtC;;;OAGG;IACH,iBAAiB,EAAE,eAAe,EAAE,CAAC;IAErC,eAAe;IACf,SAAS,CAAC,EAAE,mBAAmB,CAAC;IAEhC;;;OAGG;IACH,UAAU,CAAC,EAAE,kBAAkB,EAAE,CAAC;IAElC,sBAAsB;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,sEAAsE;AACtE,MAAM,WAAW,wBAAwB;IACvC,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,wBAAwB;AACxB,MAAM,WAAW,sBAAsB;IACrC,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,+BAA+B;AAC/B,MAAM,WAAW,uBAAuB;IACtC,kBAAkB,EAAE,MAAM,CAAC;IAC3B,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAQD,WAAW;AACX,MAAM,MAAM,YAAY,GACpB,UAAU,GACV,MAAM,GACN,MAAM,GACN,QAAQ,GACR,SAAS,GACT,MAAM,GACN,OAAO,CAAC;AAEZ,aAAa;AACb,MAAM,WAAW,kBAAkB;IACjC,WAAW;IACX,IAAI,EAAE,YAAY,CAAC;IACnB,WAAW;IACX,WAAW,EAAE,MAAM,CAAC;IACpB,uBAAuB;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,oBAAoB;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,iBAAiB;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,iBAAiB;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,mBAAmB;IACnB,mBAAmB,CAAC,EAAE;QACpB,eAAe;QACf,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;QAC7B,YAAY;QACZ,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,CAAC;IACF,mCAAmC;IACnC,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,aAAa;AACb,MAAM,WAAW,QAAQ;IACvB,WAAW;IACX,IAAI,EAAE,YAAY,CAAC;IACnB,WAAW;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW;IACX,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW;IACX,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,qBAAqB;IACrB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,kBAAkB;AAClB,MAAM,WAAW,UAAU;IACzB,WAAW;IACX,SAAS,EAAE,QAAQ,EAAE,CAAC;IACtB,aAAa;IACb,UAAU,EAAE;QACV,aAAa;QACb,MAAM,EAAE,OAAO,CAAC;QAChB,cAAc;QACd,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;QAC5B,aAAa;QACb,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;KACnB,CAAC;IACF,aAAa;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAID,aAAa;AACb,MAAM,WAAW,kBAAkB;IACjC,uCAAuC;IACvC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,yBAAyB;IACzB,SAAS,CAAC,EAAE;QACV,+BAA+B;QAC/B,aAAa,CAAC,EAAE,OAAO,CAAC;QACxB,+BAA+B;QAC/B,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;QACzB,6BAA6B;QAC7B,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;KACrB,CAAC;CACH;AAED,eAAe;AACf,MAAM,WAAW,yBAAyB;IACxC,0BAA0B;IAC1B,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa;IACb,mBAAmB,EAAE,YAAY,GAAG,aAAa,GAAG,UAAU,CAAC;CAChE;AAED,eAAe;AACf,MAAM,WAAW,qBAAqB;IACpC,wBAAwB;IACxB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,mDAAmD;IACnD,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,iBAAiB;IACjB,iBAAiB,CAAC,EAAE,eAAe,EAAE,CAAC;CACvC;AAED,yBAAyB;AACzB,MAAM,WAAW,kBAAkB;IACjC,6CAA6C;IAC7C,EAAE,EAAE,MAAM,CAAC;IACX,WAAW;IACX,IAAI,EAAE,MAAM,CAAC;IACb,SAAS;IACT,WAAW,EAAE,MAAM,CAAC;IACpB,yCAAyC;IACzC,iBAAiB,EAAE,SAAS,GAAG,QAAQ,GAAG,MAAM,GAAG,MAAM,GAAG,QAAQ,GAAG,QAAQ,CAAC;IAChF,WAAW;IACX,UAAU,EAAE,kBAAkB,CAAC;IAC/B,aAAa;IACb,kBAAkB,EAAE,yBAAyB,CAAC;IAC9C,iBAAiB;IACjB,YAAY,CAAC,EAAE,qBAAqB,CAAC;IACrC,6BAA6B;IAC7B,mBAAmB,CAAC,EAAE;QACpB,wBAAwB;QACxB,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,gCAAgC;QAChC,YAAY,CAAC,EAAE,MAAM,CAAC;KACvB,CAAC;IACF,kCAAkC;IAClC,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,uBAAuB;IACvB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,+BAA+B;IAC/B,kBAAkB,CAAC,EAAE,kBAAkB,EAAE,CAAC;CAC3C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pre-tool-use-handler.d.ts","sourceRoot":"","sources":["../../../src/daemon/handlers/pre-tool-use-handler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AASpD,qBAAa,iBAAkB,SAAQ,eAAe;IACpD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAwB;gBAE3C,GAAG,EAAE,cAAc;IAIzB,MAAM,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"pre-tool-use-handler.d.ts","sourceRoot":"","sources":["../../../src/daemon/handlers/pre-tool-use-handler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AASpD,qBAAa,iBAAkB,SAAQ,eAAe;IACpD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAwB;gBAE3C,GAAG,EAAE,cAAc;IAIzB,MAAM,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC;IAoK7D,OAAO,CAAC,mBAAmB;CAsB5B"}
|
|
@@ -43,6 +43,29 @@ export class PreToolUseHandler extends BaseHookHandler {
|
|
|
43
43
|
},
|
|
44
44
|
};
|
|
45
45
|
}
|
|
46
|
+
// 1.6 产物重试强制门禁:进入产物重试后,只允许 Write/Edit,Bash 仅允许 echo "FORGE_NODE_DONE"
|
|
47
|
+
const activePipelineForArtifact = pipelineEngine?.getActivePipelineForProject(event.project_path);
|
|
48
|
+
if (activePipelineForArtifact && activePipelineForArtifact.id.startsWith('dp_') && event.tool_name && pipelineEngine) {
|
|
49
|
+
const isInArtifactRetry = pipelineEngine.isInArtifactRetry(event.project_path);
|
|
50
|
+
if (isInArtifactRetry) {
|
|
51
|
+
const tool = event.tool_name;
|
|
52
|
+
const isWriteOrEdit = tool === 'Write' || tool === 'Edit';
|
|
53
|
+
const bashCommand = String(event.tool_input?.command ?? '');
|
|
54
|
+
const isDoneSignalBash = tool === 'Bash' && /FORGE_NODE_DONE/.test(bashCommand);
|
|
55
|
+
if (!isWriteOrEdit && !isDoneSignalBash) {
|
|
56
|
+
logger.warn(`[Forge:产物门禁] 产物重试期间禁止 ${tool},只允许 Write/Edit(Bash 仅允许 FORGE_NODE_DONE)`);
|
|
57
|
+
return {
|
|
58
|
+
allow: false,
|
|
59
|
+
reason: `[Forge 产物门禁] 当前节点产物缺失,已进入强制生成模式。只允许使用 Write/Edit 生成产物;Bash 仅允许发送完成信号(FORGE_NODE_DONE),禁止继续探索代码。请立即使用 Write 工具创建 docs/ 目录下的必需产物文件。`,
|
|
60
|
+
hookSpecificOutput: {
|
|
61
|
+
hookEventName: 'PreToolUse',
|
|
62
|
+
permissionDecision: 'deny',
|
|
63
|
+
permissionDecisionReason: `产物重试期间仅允许 Write/Edit,Bash 仅允许 FORGE_NODE_DONE;禁止 ${tool}`,
|
|
64
|
+
},
|
|
65
|
+
};
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
}
|
|
46
69
|
// 2. Skill 推荐注入(传入当前 Pipeline 阶段,支持按阶段过滤技能)
|
|
47
70
|
const currentPhase = pipelineEngine?.getActivePipelineForProject(event.project_path)?.phase;
|
|
48
71
|
const skillRec = await skillRegistry.processEvent(event, currentPhase ?? undefined);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pre-tool-use-handler.js","sourceRoot":"","sources":["../../../src/daemon/handlers/pre-tool-use-handler.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"pre-tool-use-handler.js","sourceRoot":"","sources":["../../../src/daemon/handlers/pre-tool-use-handler.ts"],"names":[],"mappings":"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"}
|
|
@@ -39,9 +39,9 @@ if [ -n "$RESPONSE" ]; then
|
|
|
39
39
|
# 优先使用 hookSpecificOutput(Claude Code 官方格式),否则降级到 stderr + exit 2
|
|
40
40
|
HAS_HOOK_OUTPUT=$(echo "$RESPONSE" | jq -r 'if .hookSpecificOutput then "yes" else "no" end')
|
|
41
41
|
if [ "$HAS_HOOK_OUTPUT" = "yes" ]; then
|
|
42
|
-
# 输出 hookSpecificOutput
|
|
42
|
+
# 输出 hookSpecificOutput 格式到 stdout,但必须 exit 非0 才能真正阻止工具执行
|
|
43
43
|
echo "$RESPONSE" | jq '{hookSpecificOutput: .hookSpecificOutput}'
|
|
44
|
-
exit
|
|
44
|
+
exit 1
|
|
45
45
|
else
|
|
46
46
|
# 降级:输出原因到 stderr,exit 2 强制阻断
|
|
47
47
|
REASON=$(echo "$RESPONSE" | jq -r '.reason // "操作被 Forge 阻断"')
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"artifact-validator.d.ts","sourceRoot":"","sources":["../../src/pipeline/artifact-validator.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,kBAAkB,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAGvF,qBAAa,iBAAiB;IAC5B;;;OAGG;IACH,QAAQ,CACN,SAAS,EAAE,QAAQ,EAAE,EACrB,WAAW,CAAC,EAAE,kBAAkB,EAAE,EAClC,UAAU,CAAC,EAAE,QAAQ,GAAG,UAAU,GAAG,SAAS,GAC7C,UAAU,CAAC,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"artifact-validator.d.ts","sourceRoot":"","sources":["../../src/pipeline/artifact-validator.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,kBAAkB,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAGvF,qBAAa,iBAAiB;IAC5B;;;OAGG;IACH,QAAQ,CACN,SAAS,EAAE,QAAQ,EAAE,EACrB,WAAW,CAAC,EAAE,kBAAkB,EAAE,EAClC,UAAU,CAAC,EAAE,QAAQ,GAAG,UAAU,GAAG,SAAS,GAC7C,UAAU,CAAC,YAAY,CAAC;IAsE3B;;;;;OAKG;IACH,OAAO,CAAC,6BAA6B;IAoBrC;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAsB/B;;OAEG;IACH,OAAO,CAAC,eAAe;IA0BvB;;;;;OAKG;IACH,OAAO,CAAC,WAAW;CAepB"}
|
|
@@ -47,6 +47,15 @@ export class ArtifactValidator {
|
|
|
47
47
|
this.validateContent(artifact, constraint, errors);
|
|
48
48
|
}
|
|
49
49
|
}
|
|
50
|
+
// 检查最小内容量(防止空文件或骨架文件被当作完成)
|
|
51
|
+
if (constraint.min_size_bytes && matchingArtifacts.length > 0) {
|
|
52
|
+
for (const artifact of matchingArtifacts) {
|
|
53
|
+
const size = artifact.size_bytes ?? 0;
|
|
54
|
+
if (size < constraint.min_size_bytes) {
|
|
55
|
+
errors.push(`产物内容不足:${constraint.description}(需要至少 ${constraint.min_size_bytes} 字节,实际 ${size} 字节)`);
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
}
|
|
50
59
|
}
|
|
51
60
|
const passed = errors.length === 0;
|
|
52
61
|
if (!passed) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"artifact-validator.js","sourceRoot":"","sources":["../../src/pipeline/artifact-validator.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"artifact-validator.js","sourceRoot":"","sources":["../../src/pipeline/artifact-validator.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,6 +12,7 @@ import type { DynamicPipeline } from './dynamic-node-types.js';
|
|
|
12
12
|
import type { INodeExecutor, NodeExecutorState, AdvanceResult } from './i-node-executor.js';
|
|
13
13
|
import type { QualityGateEngine } from '../autopilot/quality-gate.js';
|
|
14
14
|
import type { PhaseSnapshot } from '../retrospective/types.js';
|
|
15
|
+
import type { AIProvider } from '../ai-provider/types.js';
|
|
15
16
|
export declare class DynamicNodeExecutor implements INodeExecutor {
|
|
16
17
|
private nodeToolsSeen;
|
|
17
18
|
private nodeEventCounts;
|
|
@@ -31,6 +32,8 @@ export declare class DynamicNodeExecutor implements INodeExecutor {
|
|
|
31
32
|
private artifactCollector;
|
|
32
33
|
private artifactValidator;
|
|
33
34
|
private completionEngine;
|
|
35
|
+
private semanticValidator;
|
|
36
|
+
constructor(api?: AIProvider);
|
|
34
37
|
/**
|
|
35
38
|
* 获取当前节点的指令
|
|
36
39
|
*/
|
|
@@ -43,6 +46,10 @@ export declare class DynamicNodeExecutor implements INodeExecutor {
|
|
|
43
46
|
* 清理节点执行器缓存
|
|
44
47
|
*/
|
|
45
48
|
cleanup(pipelineId: string): void;
|
|
49
|
+
/**
|
|
50
|
+
* 判断动态 Pipeline 是否已进入产物重试状态(任一节点 retryCount >= 1)
|
|
51
|
+
*/
|
|
52
|
+
hasArtifactRetry(pipelineId: string): boolean;
|
|
46
53
|
/**
|
|
47
54
|
* 重置修复次数
|
|
48
55
|
*/
|
|
@@ -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;
|
|
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;AAU1D,qBAAa,mBAAoB,YAAW,aAAa;IACvD,OAAO,CAAC,aAAa,CAAoH;IACzI,OAAO,CAAC,eAAe,CAAsH;IAC7I,OAAO,CAAC,eAAe,CAAsH;IAC7I,OAAO,CAAC,mBAAmB,CAA0H;IACrJ,OAAO,CAAC,WAAW,CAAwH;IAC3I,sCAAsC;IACtC,OAAO,CAAC,kBAAkB,CAAwH;IAClJ,uCAAuC;IACvC,OAAO,CAAC,cAAc,CAAuH;IAC7I,yCAAyC;IACzC,OAAO,CAAC,cAAc,CAAuH;IAC7I,gDAAgD;IAChD,OAAO,CAAC,YAAY,CAA6H;IACjJ,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,oBAAoB,CAAM;IAClD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,iBAAiB,CAAM;IAE/C,OAAO,CAAC,iBAAiB,CAA2B;IACpD,OAAO,CAAC,iBAAiB,CAA2B;IACpD,OAAO,CAAC,gBAAgB,CAA0B;IAClD,OAAO,CAAC,iBAAiB,CAAkC;gBAE/C,GAAG,CAAC,EAAE,UAAU;IAM5B;;OAEG;IACH,cAAc,CAAC,QAAQ,EAAE,eAAe,GAAG,MAAM;IAmCjD;;OAEG;IACG,eAAe,CACnB,QAAQ,EAAE,eAAe,EACzB,KAAK,EAAE,UAAU,EACjB,WAAW,CAAC,EAAE,iBAAiB,GAC9B,OAAO,CAAC,aAAa,CAAC;IAgOzB;;OAEG;IACH,OAAO,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IAgBjC;;OAEG;IACH,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO;IAS7C;;OAEG;IACH,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IAQ1C;;OAEG;IACH,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,iBAAiB,GAAG,IAAI;IAkBzD;;OAEG;IACH,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,iBAAiB;IAW3C;;OAEG;IACH,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG,aAAa,EAAE;IAoBvD;;OAEG;IACH,OAAO,CAAC,aAAa;IAoCrB;;;OAGG;IACH,OAAO,CAAC,aAAa;IAkBrB;;;OAGG;IACH,OAAO,CAAC,kBAAkB;IAY1B;;OAEG;IACH,OAAO,CAAC,qBAAqB;CAe9B"}
|
|
@@ -11,6 +11,7 @@ import { NodeTypeRegistry } from './node-type-registry.js';
|
|
|
11
11
|
import { ArtifactCollector } from './artifact-collector.js';
|
|
12
12
|
import { ArtifactValidator } from './artifact-validator.js';
|
|
13
13
|
import { CompletionEngine } from './completion-engine.js';
|
|
14
|
+
import { SemanticValidator } from './semantic-validator.js';
|
|
14
15
|
import { logger } from '../utils/logger.js';
|
|
15
16
|
import { memoryManager } from '../utils/memory-manager.js';
|
|
16
17
|
import { CACHE, TIME } from '../constants.js';
|
|
@@ -33,6 +34,12 @@ export class DynamicNodeExecutor {
|
|
|
33
34
|
artifactCollector = new ArtifactCollector();
|
|
34
35
|
artifactValidator = new ArtifactValidator();
|
|
35
36
|
completionEngine = new CompletionEngine();
|
|
37
|
+
semanticValidator = null;
|
|
38
|
+
constructor(api) {
|
|
39
|
+
if (api) {
|
|
40
|
+
this.semanticValidator = new SemanticValidator(api);
|
|
41
|
+
}
|
|
42
|
+
}
|
|
36
43
|
/**
|
|
37
44
|
* 获取当前节点的指令
|
|
38
45
|
*/
|
|
@@ -207,6 +214,46 @@ Pipeline 已被阻断,无法继续执行。请检查:
|
|
|
207
214
|
else if (!validation.passed) {
|
|
208
215
|
logger.warn(`[Pipeline:Dynamic:Node] ⚠️ 节点 ${currentNode.nodeTypeId} 产物验证失败(simple 任务放行):${validation.errors?.join('; ')}`);
|
|
209
216
|
}
|
|
217
|
+
// 语义一致性校验(仅对 document 类型产物启用)
|
|
218
|
+
if (this.semanticValidator && validation.passed) {
|
|
219
|
+
const documentArtifacts = artifacts.filter(a => a.type === 'document');
|
|
220
|
+
if (documentArtifacts.length > 0) {
|
|
221
|
+
// 检查节点类型是否启用语义校验
|
|
222
|
+
const semanticConfig = nodeType.semantic_validation;
|
|
223
|
+
if (semanticConfig?.enabled === false) {
|
|
224
|
+
logger.info(`[Pipeline:Dynamic:Node] 节点 ${currentNode.nodeTypeId} 已禁用语义校验`);
|
|
225
|
+
}
|
|
226
|
+
else {
|
|
227
|
+
try {
|
|
228
|
+
const artifact = documentArtifacts[0]; // 取第一个文档产物
|
|
229
|
+
const minCoverage = semanticConfig?.min_coverage; // 节点级配置优先
|
|
230
|
+
const semanticResult = await this.semanticValidator.validate(artifact, recentEventsList, nodeType.name, event.project_path, minCoverage);
|
|
231
|
+
if (!semanticResult.consistent) {
|
|
232
|
+
logger.warn(`[Pipeline:Dynamic:Node] ⚠️ 节点 ${currentNode.nodeTypeId} 语义一致性不足:覆盖率 ${semanticResult.coverage}%`);
|
|
233
|
+
const missingList = semanticResult.missing_points.map(p => `- ${p}`).join('\n');
|
|
234
|
+
const threshold = minCoverage ?? 70; // 显示实际使用的阈值
|
|
235
|
+
return {
|
|
236
|
+
advanced: false,
|
|
237
|
+
systemMessage: `[Forge:语义一致性] 当前节点「${nodeType.name}」产物文档内容不完整。
|
|
238
|
+
|
|
239
|
+
覆盖率:${semanticResult.coverage}%(需要 >= ${threshold}%)
|
|
240
|
+
|
|
241
|
+
缺失的关键要点:
|
|
242
|
+
${missingList}
|
|
243
|
+
|
|
244
|
+
请使用 Edit 工具补充以上缺失内容到文档中,确保文档完整覆盖本轮调研的关键发现。`,
|
|
245
|
+
};
|
|
246
|
+
}
|
|
247
|
+
else {
|
|
248
|
+
logger.info(`[Pipeline:Dynamic:Node] ✅ 语义一致性校验通过:覆盖率 ${semanticResult.coverage}%`);
|
|
249
|
+
}
|
|
250
|
+
}
|
|
251
|
+
catch (err) {
|
|
252
|
+
logger.warn(`[Pipeline:Dynamic:Node] 语义校验失败,跳过:${err}`);
|
|
253
|
+
}
|
|
254
|
+
}
|
|
255
|
+
}
|
|
256
|
+
}
|
|
210
257
|
// 推进到下一个节点
|
|
211
258
|
const nextNodeId = this.getNextNodeId(pipeline, currentNode.id);
|
|
212
259
|
logger.info(`[Pipeline:Dynamic:Node] ✅ 节点 ${currentNode.nodeTypeId} 完成,推进到 ${nextNodeId || 'done'}`);
|
|
@@ -235,6 +282,19 @@ Pipeline 已被阻断,无法继续执行。请检查:
|
|
|
235
282
|
}
|
|
236
283
|
logger.debug(`[Pipeline:Dynamic:Node] 🧹 已清理缓存:${pipelineId.slice(0, 8)}`);
|
|
237
284
|
}
|
|
285
|
+
/**
|
|
286
|
+
* 判断动态 Pipeline 是否已进入产物重试状态(任一节点 retryCount >= 1)
|
|
287
|
+
*/
|
|
288
|
+
hasArtifactRetry(pipelineId) {
|
|
289
|
+
for (const key of this.artifactRetryCount.keys()) {
|
|
290
|
+
if (!key.startsWith(`${pipelineId}:`))
|
|
291
|
+
continue;
|
|
292
|
+
const count = this.artifactRetryCount.get(key) ?? 0;
|
|
293
|
+
if (count >= 1)
|
|
294
|
+
return true;
|
|
295
|
+
}
|
|
296
|
+
return false;
|
|
297
|
+
}
|
|
238
298
|
/**
|
|
239
299
|
* 重置修复次数
|
|
240
300
|
*/
|
|
@@ -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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"}
|
package/dist/pipeline/index.d.ts
CHANGED
|
@@ -158,6 +158,11 @@ export declare class PipelineEngine {
|
|
|
158
158
|
} | null;
|
|
159
159
|
/** 当前项目是否处于硬阻断状态 */
|
|
160
160
|
isBlocked(projectPath: string): boolean;
|
|
161
|
+
/**
|
|
162
|
+
* 当前项目的动态 Pipeline 是否处于产物重试状态(retryCount >= 1)
|
|
163
|
+
* 用于 PreToolUse 强制门禁:重试期间只允许 Write/Edit/Bash
|
|
164
|
+
*/
|
|
165
|
+
isInArtifactRetry(projectPath: string): boolean;
|
|
161
166
|
/** 标记项目进入硬阻断状态 */
|
|
162
167
|
private markBlocked;
|
|
163
168
|
/** 清理项目硬阻断状态 */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/pipeline/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAG1D,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAIjE,OAAO,KAAK,EAAE,QAAQ,EAAiB,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAG5E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AAMtE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AAC7E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAO5D,OAAO,EAAE,KAAK,QAAQ,EAAE,KAAK,YAAY,EAAE,KAAK,aAAa,EAAE,KAAK,gBAAgB,EAAE,KAAK,mBAAmB,EAAE,MAAM,YAAY,CAAC;AACnI,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEtD,qBAAa,cAAc;IACzB,OAAO,CAAC,KAAK,CAAgB;IAC7B,OAAO,CAAC,QAAQ,CAAmB;IACnC,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,mBAAmB,CAAsB;IACjD,OAAO,CAAC,GAAG,CAAa;IACxB,OAAO,CAAC,OAAO,CAAgB;IAC/B,4CAA4C;IAC5C,OAAO,CAAC,eAAe,CAA6B;IACpD,4DAA4D;IAC5D,OAAO,CAAC,kBAAkB,CAA2B;IACrD,gFAAgF;IAChF,OAAO,CAAC,kBAAkB,CAGvB;IACH,iEAAiE;IACjE,OAAO,CAAC,YAAY,CAA6B;IACjD,iCAAiC;IACjC,OAAO,CAAC,cAAc,CAAC,CAAiB;gBAE5B,OAAO,EAAE,aAAa,EAAE,GAAG,EAAE,UAAU,EAAE,iBAAiB,CAAC,EAAE,iBAAiB,EAAE,cAAc,CAAC,EAAE,cAAc;IAY3H,qDAAqD;IACrD,OAAO,CAAC,mBAAmB,CAGxB;IAEH,oDAAoD;IACpD,OAAO,CAAC,eAAe,CAGpB;IAEH;;OAEG;IACG,gBAAgB,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;YAInD,iBAAiB;IAgG/B;;OAEG;IACG,iBAAiB,CAAC,KAAK,EAAE,UAAU,EAAE,WAAW,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,GAAG,IAAI,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,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAC;QAAC,aAAa,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;YAK9S,kBAAkB;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/pipeline/index.ts"],"names":[],"mappings":"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"}
|
package/dist/pipeline/index.js
CHANGED
|
@@ -39,7 +39,7 @@ export class PipelineEngine {
|
|
|
39
39
|
this.store = new PipelineStore(storage);
|
|
40
40
|
this.analyzer = new PipelineAnalyzer(api, conventionManager);
|
|
41
41
|
this.phaseManager = new PhaseManager(this.store);
|
|
42
|
-
this.dynamicNodeExecutor = new DynamicNodeExecutor();
|
|
42
|
+
this.dynamicNodeExecutor = new DynamicNodeExecutor(api);
|
|
43
43
|
this.api = api;
|
|
44
44
|
this.storage = storage;
|
|
45
45
|
this.activePipelines = memoryManager.register('pipeline:active', { max: 50 });
|
|
@@ -201,6 +201,11 @@ export class PipelineEngine {
|
|
|
201
201
|
const dynamicResult = await this._handlePostToolUseDynamic(pipeline, event, qualityGate);
|
|
202
202
|
if (dynamicResult.blocking) {
|
|
203
203
|
this.markBlocked(event.project_path, pipeline.id, dynamicResult.systemMessage || '[Pipeline 已阻断] 产物验证失败,必须修复后重启 Pipeline');
|
|
204
|
+
// 立即关闭 Pipeline,防止后续工具调用继续执行
|
|
205
|
+
await this.storage.repositories.dynamicPipelines.close(pipeline.id, 'failed');
|
|
206
|
+
this.activePipelines.delete(event.project_path);
|
|
207
|
+
this.dynamicNodeExecutor.cleanup(pipeline.id);
|
|
208
|
+
logger.error(`[Pipeline] 硬阻断触发,Pipeline ${pipeline.id} 已关闭`);
|
|
204
209
|
}
|
|
205
210
|
return dynamicResult;
|
|
206
211
|
}
|
|
@@ -906,6 +911,16 @@ ${taskSummary}
|
|
|
906
911
|
isBlocked(projectPath) {
|
|
907
912
|
return this.getBlockedState(projectPath) !== null;
|
|
908
913
|
}
|
|
914
|
+
/**
|
|
915
|
+
* 当前项目的动态 Pipeline 是否处于产物重试状态(retryCount >= 1)
|
|
916
|
+
* 用于 PreToolUse 强制门禁:重试期间只允许 Write/Edit/Bash
|
|
917
|
+
*/
|
|
918
|
+
isInArtifactRetry(projectPath) {
|
|
919
|
+
const pipeline = this.activePipelines.get(projectPath) || this.store.getActivePipeline(projectPath);
|
|
920
|
+
if (!pipeline || !pipeline.id.startsWith('dp_'))
|
|
921
|
+
return false;
|
|
922
|
+
return this.dynamicNodeExecutor.hasArtifactRetry(pipeline.id);
|
|
923
|
+
}
|
|
909
924
|
/** 标记项目进入硬阻断状态 */
|
|
910
925
|
markBlocked(projectPath, pipelineId, reason) {
|
|
911
926
|
this.blockedProjects.set(projectPath, {
|