@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
package/README.md CHANGED
@@ -11,7 +11,7 @@ Claude Forge 是一个为 Claude Code 设计的智能编排引擎,通过透明
11
11
 
12
12
  - 🎯 **智能意图识别** - 自动分析任务复杂度,决定执行策略(三层架构:Ground Truth 规则 + 学习规则 + AI 降级层,支持上下文感知和活跃计划检测) [x] 2026-04-25
13
13
  - 🔄 **Pipeline 编排** - 复杂任务自动拆分为多阶段流程(分析→设计→编码→测试→审查),支持纯事件溯源架构和状态机约束,确保状态一致性,daemon 启动时自动迁移历史数据,阶段产物统一输出到 docs/时间戳/ 目录,支持动态节点系统(Convention 定义节点类型,Skill 作为执行策略,NodeTypeRegistry 聚合节点类型,DynamicNodeExecutor 驱动执行,INodeExecutor 接口统一 PhaseManager 和 DynamicNodeExecutor,DynamicAggregator 支持动态节点事件聚合,启发式完成检测增强支持 file_patterns 和 keywords,Web API 支持动态流水线创建和手动推进,SemanticValidator 支持语义一致性校验),管理后台深度审查与修复完成(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集成阻断检测和强制中断),产物生成状态机与骨架预创建机制已实现(PreToolUse 阶段骨架预创建、状态机驱动产物生成、DynamicNodeExecutor 集成状态机逻辑、SemanticValidator 支持骨架内容识别),分步驱动执行模型设计与实现完成(Step 定义、StepOrchestrator 编排器、StepValidator 验证器、StepGateKeeper 门禁守卫、StepPromptBuilder 提示词构建器、PendingPromptsManager 集成、PreToolUse/PostToolUse 集成点、状态机驱动、失败重试与人工接管机制、SemanticValidator 集成、NodeTypeRegistry 集成、DynamicAggregator 事件聚合支持) [x] 2026-04-25
14
- - 🛡️ **质量门禁** - 每个阶段自动 AI 审查,支持需求规格、安全性、代码质量、测试覆盖、性能等多维度检查,问题追踪和解决状态管理,支持上下文查询,支持 must/should 分级硬阻断(产物验证硬阻断 + 质量门禁分级阻断实现完成,代码审查通过,流程可控彻底审计报告已完成,阶段工具白名单策略已实现,Checkpoint 失败回滚机制已实现),产物生成状态机与骨架预创建机制已实现(PreToolUse 阶段骨架预创建、状态机驱动产物生成、DynamicNodeExecutor 集成状态机逻辑、SemanticValidator 支持骨架内容识别、产物阶段状态机改造完成、PreToolUse 骨架预创建集成、DynamicNodeExecutor 状态机驱动逻辑集成),分步驱动执行模型支持 Step 级别质量检查(StepCheck 定义、StepValidator 验证器、must/should/may 分级、失败重试与人工接管、StepGateKeeper 工具白名单门禁),CompletionEngine 节点完成综合决策引擎实现完成(聚合 CompletionDetector 和 ArtifactValidator 结果、基于置信度综合决策、支持复杂度驱动约束) [x] 2026-04-25
14
+ - 🛡️ **质量门禁** - 每个阶段自动 AI 审查,支持需求规格、安全性、代码质量、测试覆盖、性能等多维度检查,问题追踪和解决状态管理,支持上下文查询,支持 must/should 分级硬阻断(产物验证硬阻断 + 质量门禁分级阻断实现完成,代码审查通过,流程可控彻底审计报告已完成,阶段工具白名单策略已实现,Checkpoint 失败回滚机制已实现),产物生成状态机与骨架预创建机制已实现(PreToolUse 阶段骨架预创建、状态机驱动产物生成、DynamicNodeExecutor 集成状态机逻辑、SemanticValidator 支持骨架内容识别、产物阶段状态机改造完成、PreToolUse 骨架预创建集成、DynamicNodeExecutor 状态机驱动逻辑集成),分步驱动执行模型支持 Step 级别质量检查(StepCheck 定义、StepValidator 验证器、must/should/may 分级、失败重试与人工接管、StepGateKeeper 工具白名单门禁),CompletionEngine 节点完成综合决策引擎实现完成(聚合 CompletionDetector 和 ArtifactValidator 结果、基于置信度综合决策、支持复杂度驱动约束),产物强制执行引擎实现完成(三层防护机制:阶段指令引导 + 实时产物追踪 + 阶段推进门禁,ArtifactEnforcer 集成到 PhaseManager 和 DynamicNodeExecutor,支持产物类型推断、豁免规则、缺失提示生成,已集成到 PipelineEngine) [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-25
17
17
  - 🎨 **技能编排** - 根据意图自动匹配并注入最佳实践(TDD、重构、调试等),支持关键词映射和命中率统计 [x] 2026-04-25
@@ -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 操作端点,SemanticValidator 支持语义一致性校验),管理后台深度审查与修复完成(修复运行时错误、性能问题、竞态条件、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集成阻断检测和强制中断),产物生成状态机与骨架预创建机制已实现(PreToolUse 阶段骨架预创建、状态机驱动产物生成、DynamicNodeExecutor 集成状态机逻辑、SemanticValidator 支持骨架内容识别、产物阶段状态机改造完成、PreToolUse 骨架预创建集成、DynamicNodeExecutor 状态机驱动逻辑集成),分步驱动执行模型设计与实现完成(Step 定义、StepOrchestrator 编排器、StepValidator 验证器、StepGateKeeper 门禁守卫、StepPromptBuilder 提示词构建器、PendingPromptsManager 集成、PreToolUse/PostToolUse 集成点、状态机驱动、失败重试与人工接管机制、SemanticValidator 集成、NodeTypeRegistry 集成、DynamicAggregator 事件聚合支持),OrchestrationEnforcer 编排约束补全器实现完成(must 规则补全、内置 after-node 规则、DAG 环检测、失败降级策略),CompletionEngine 节点完成综合决策引擎实现完成(聚合 CompletionDetector 和 ArtifactValidator 结果、基于置信度综合决策、支持复杂度驱动约束) [x] 2026-04-25 |
29
- | 质量门禁 | 每个阶段自动 AI 审查(需求规格、安全性、代码质量、测试、性能),不合格则阻止推进,支持 must/should 分级硬阻断(产物验证失败10次重试后硬阻断、质量门禁must级别问题硬阻断、统一阻断传播链、post-tool-use-handler集成阻断检测和强制中断,流程可控彻底审计报告已完成,阶段工具白名单策略已实现,Checkpoint 失败回滚机制已实现),产物生成状态机与骨架预创建机制已实现(PreToolUse 阶段骨架预创建、状态机驱动产物生成、DynamicNodeExecutor 集成状态机逻辑、SemanticValidator 支持骨架内容识别、产物阶段状态机改造完成、PreToolUse 骨架预创建集成、DynamicNodeExecutor 状态机驱动逻辑集成),分步驱动执行模型支持 Step 级别质量检查(StepCheck 定义、StepValidator 验证器、must/should/may 分级、失败重试与人工接管、StepGateKeeper 工具白名单门禁),CompletionEngine 节点完成综合决策引擎实现完成(聚合 CompletionDetector 和 ArtifactValidator 结果、基于置信度综合决策、支持复杂度驱动约束) [x] 2026-04-25 |
29
+ | 质量门禁 | 每个阶段自动 AI 审查(需求规格、安全性、代码质量、测试、性能),不合格则阻止推进,支持 must/should 分级硬阻断(产物验证失败10次重试后硬阻断、质量门禁must级别问题硬阻断、统一阻断传播链、post-tool-use-handler集成阻断检测和强制中断,流程可控彻底审计报告已完成,阶段工具白名单策略已实现,Checkpoint 失败回滚机制已实现),产物生成状态机与骨架预创建机制已实现(PreToolUse 阶段骨架预创建、状态机驱动产物生成、DynamicNodeExecutor 集成状态机逻辑、SemanticValidator 支持骨架内容识别、产物阶段状态机改造完成、PreToolUse 骨架预创建集成、DynamicNodeExecutor 状态机驱动逻辑集成),分步驱动执行模型支持 Step 级别质量检查(StepCheck 定义、StepValidator 验证器、must/should/may 分级、失败重试与人工接管、StepGateKeeper 工具白名单门禁),CompletionEngine 节点完成综合决策引擎实现完成(聚合 CompletionDetector 和 ArtifactValidator 结果、基于置信度综合决策、支持复杂度驱动约束),产物强制执行引擎实现完成(三层防护机制:阶段指令引导 + 实时产物追踪 + 阶段推进门禁,ArtifactEnforcer 集成到 PhaseManager 和 DynamicNodeExecutor,支持产物类型推断、豁免规则、缺失提示生成,已集成到 PipelineEngine) [x] 2026-04-25 |
30
30
  | 技能编排 | 根据意图自动匹配并注入最佳实践,支持关键词映射和命中率统计 [x] 2026-04-25 |
31
31
  | 知识蒸馏 | 自动提炼决策日志、时间线、项目规范,支持树索引和语义检索,Web管理后台集成知识图谱页面(搜索/概览/邻居/图谱可视化/CRUD操作) [x] 2026-04-25 |
32
32
  | 会话续接 | 中断后自动恢复上次工作状态 [x] 2026-04-25 |
@@ -7,10 +7,10 @@ export declare class BackupManager {
7
7
  projectPath?: string;
8
8
  encrypt?: boolean;
9
9
  password?: string;
10
- }): Promise<string>;
10
+ }): string;
11
11
  /**
12
12
  * 恢复备份
13
13
  */
14
- restore(backupFile: string, strategy?: 'merge' | 'overwrite' | 'cancel'): Promise<void>;
14
+ restore(backupFile: string, strategy?: 'merge' | 'overwrite' | 'cancel'): void;
15
15
  }
16
16
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/backup/index.ts"],"names":[],"mappings":"AAgBA,qBAAa,aAAa;IACxB;;OAEG;IACG,MAAM,CAAC,OAAO,EAAE;QACpB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,GAAG,OAAO,CAAC,MAAM,CAAC;IA2FnB;;OAEG;IACG,OAAO,CACX,UAAU,EAAE,MAAM,EAClB,QAAQ,GAAE,OAAO,GAAG,WAAW,GAAG,QAAkB,GACnD,OAAO,CAAC,IAAI,CAAC;CAsGjB"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/backup/index.ts"],"names":[],"mappings":"AAaA,qBAAa,aAAa;IACxB;;OAEG;IACH,MAAM,CAAC,OAAO,EAAE;QACd,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,GAAG,MAAM;IA2FV;;OAEG;IACH,OAAO,CACL,UAAU,EAAE,MAAM,EAClB,QAAQ,GAAE,OAAO,GAAG,WAAW,GAAG,QAAkB,GACnD,IAAI;CAsGR"}
@@ -2,12 +2,10 @@ import fs from 'fs';
2
2
  import path from 'path';
3
3
  import os from 'os';
4
4
  import { createHash } from 'crypto';
5
- import { execFile } from 'child_process';
6
- import { promisify } from 'util';
5
+ import { execFileSync } from 'child_process';
7
6
  import yaml from 'js-yaml';
8
7
  import Database from 'better-sqlite3';
9
8
  import { logger } from '../utils/logger.js';
10
- const execFileAsync = promisify(execFile);
11
9
  function getForgeHome() {
12
10
  return path.join(os.homedir(), '.claude-forge');
13
11
  }
@@ -15,7 +13,7 @@ export class BackupManager {
15
13
  /**
16
14
  * 创建备份
17
15
  */
18
- async backup(options) {
16
+ backup(options) {
19
17
  const timestamp = new Date().toISOString().replace(/[:.]/g, '-');
20
18
  const projectSuffix = options.projectPath
21
19
  ? '-' + path.basename(options.projectPath)
@@ -72,7 +70,7 @@ export class BackupManager {
72
70
  };
73
71
  fs.writeFileSync(path.join(tmpDir, 'meta.json'), JSON.stringify(meta, null, 2));
74
72
  // 5. 打包(使用参数数组避免命令注入)
75
- await execFileAsync('tar', ['-czf', outputFile, '-C', tmpDir, '.']);
73
+ execFileSync('tar', ['-czf', outputFile, '-C', tmpDir, '.']);
76
74
  // 6. 生成 checksum
77
75
  const fileBuffer = fs.readFileSync(outputFile);
78
76
  const checksum = createHash('sha256').update(fileBuffer).digest('hex');
@@ -88,7 +86,7 @@ export class BackupManager {
88
86
  /**
89
87
  * 恢复备份
90
88
  */
91
- async restore(backupFile, strategy = 'merge') {
89
+ restore(backupFile, strategy = 'merge') {
92
90
  // 1. 校验 checksum
93
91
  const checksumFile = `${backupFile}.sha256`;
94
92
  if (fs.existsSync(checksumFile)) {
@@ -120,7 +118,7 @@ export class BackupManager {
120
118
  const tmpDir = path.join(os.tmpdir(), `claude-forge-restore-${Date.now()}`);
121
119
  fs.mkdirSync(tmpDir, { recursive: true });
122
120
  try {
123
- await execFileAsync('tar', ['-xzf', backupFile, '-C', tmpDir]);
121
+ execFileSync('tar', ['-xzf', backupFile, '-C', tmpDir]);
124
122
  // 确保目标目录存在
125
123
  if (!fs.existsSync(getForgeHome())) {
126
124
  fs.mkdirSync(getForgeHome(), { recursive: true });
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/backup/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/backup/index.ts"],"names":[],"mappings":"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"}
@@ -43,5 +43,6 @@ export declare class ClaudeMdWriter {
43
43
  * @param writeOperation 写入操作函数,接收当前文件内容,返回新内容
44
44
  */
45
45
  atomicWrite(projectPath: string, writeOperation: (currentContent: string) => string): Promise<void>;
46
+ atomicWriteSync(projectPath: string, writeOperation: (currentContent: string) => string): void;
46
47
  }
47
48
  //# sourceMappingURL=writer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"writer.d.ts","sourceRoot":"","sources":["../../src/claudemd/writer.ts"],"names":[],"mappings":"AAsBA;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAmCtE;AAED,qBAAa,cAAc;IACzB,uCAAuC;IACvC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAmC;IAE7D,OAAO,CAAC,eAAe;IAMvB,YAAY,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAMhD;;OAEG;IACH,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAIrD,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO;IAM5C;;;;;OAKG;IACH,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM;IAmB3C;;OAEG;IACH,OAAO,CAAC,iBAAiB;IA2BzB;;OAEG;IACG,aAAa,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAkB5E;;OAEG;IACG,iBAAiB,CAAC,WAAW,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAInF;;;OAGG;IACG,mBAAmB,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IA6BpF;;;;OAIG;IACG,WAAW,CACf,WAAW,EAAE,MAAM,EACnB,cAAc,EAAE,CAAC,cAAc,EAAE,MAAM,KAAK,MAAM,GACjD,OAAO,CAAC,IAAI,CAAC;CAQjB"}
1
+ {"version":3,"file":"writer.d.ts","sourceRoot":"","sources":["../../src/claudemd/writer.ts"],"names":[],"mappings":"AAsBA;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAmCtE;AAED,qBAAa,cAAc;IACzB,uCAAuC;IACvC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAmC;IAE7D,OAAO,CAAC,eAAe;IAMvB,YAAY,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAMhD;;OAEG;IACH,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAIrD,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO;IAM5C;;;;;OAKG;IACH,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM;IAmB3C;;OAEG;IACH,OAAO,CAAC,iBAAiB;IA2BzB;;OAEG;IACG,aAAa,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAkB5E;;OAEG;IACG,iBAAiB,CAAC,WAAW,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAInF;;;OAGG;IACG,mBAAmB,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IA6BpF;;;;OAIG;IACG,WAAW,CACf,WAAW,EAAE,MAAM,EACnB,cAAc,EAAE,CAAC,cAAc,EAAE,MAAM,KAAK,MAAM,GACjD,OAAO,CAAC,IAAI,CAAC;IAShB,eAAe,CACb,WAAW,EAAE,MAAM,EACnB,cAAc,EAAE,CAAC,cAAc,EAAE,MAAM,KAAK,MAAM,GACjD,IAAI;CAYR"}
@@ -189,5 +189,17 @@ export class ClaudeMdWriter {
189
189
  fs.writeFileSync(filePath, updated, 'utf-8');
190
190
  });
191
191
  }
192
+ atomicWriteSync(projectPath, writeOperation) {
193
+ this.writeLock.runExclusiveSync(projectPath, () => {
194
+ const filePath = this.getClaudeMdPath(projectPath);
195
+ const dir = path.dirname(filePath);
196
+ if (!fs.existsSync(dir)) {
197
+ fs.mkdirSync(dir, { recursive: true });
198
+ }
199
+ const current = fs.existsSync(filePath) ? fs.readFileSync(filePath, 'utf-8') : '';
200
+ const updated = writeOperation(current);
201
+ fs.writeFileSync(filePath, updated, 'utf-8');
202
+ });
203
+ }
192
204
  }
193
205
  //# sourceMappingURL=writer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"writer.js","sourceRoot":"","sources":["../../src/claudemd/writer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"writer.js","sourceRoot":"","sources":["../../src/claudemd/writer.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,10 @@
1
1
  import { ConventionLoader } from './convention-loader.js';
2
2
  import type { Convention } from './types.js';
3
- import type { ClaudeMdWriter } from '../claudemd/writer.js';
3
+ import { ClaudeMdWriter } from '../claudemd/writer.js';
4
4
  import type { SQLiteStorage } from '../storage/sqlite.js';
5
5
  export declare class ConventionManager {
6
6
  private loader;
7
7
  private claudeMdWriter;
8
- private writerPromise;
9
8
  /** 可选的 storage 注入,用于节点类型持久化 */
10
9
  private static storage;
11
10
  /** 节点类型注册缓存:projectPath → 绑定 ID 列表的哈希 */
@@ -13,7 +12,6 @@ export declare class ConventionManager {
13
12
  /** 注入 storage(daemon 启动时调用一次) */
14
13
  static setStorage(storage: SQLiteStorage): void;
15
14
  constructor(loader?: ConventionLoader, claudeMdWriter?: ClaudeMdWriter);
16
- private getWriter;
17
15
  /** 获取 ConventionLoader 实例(供 ConventionEvolver 使用) */
18
16
  getLoader(): ConventionLoader;
19
17
  /**
@@ -55,7 +53,7 @@ export declare class ConventionManager {
55
53
  * 使用 <!-- forge:convention-start:{id} --> 标记,与 claudemd-auto 区块并列。
56
54
  * 若 CLAUDE.md 不存在则创建。
57
55
  */
58
- injectIntoClaudeMd(projectPath: string, convention: Convention): Promise<void>;
56
+ injectIntoClaudeMd(projectPath: string, convention: Convention): void;
59
57
  private getBindingsPath;
60
58
  private readBindings;
61
59
  private writeBindings;
@@ -1 +1 @@
1
- {"version":3,"file":"convention-manager.d.ts","sourceRoot":"","sources":["../../src/convention/convention-manager.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,KAAK,EAAE,UAAU,EAA4B,MAAM,YAAY,CAAC;AAEvE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAE5D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAS1D,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,MAAM,CAAmB;IACjC,OAAO,CAAC,cAAc,CAAwB;IAC9C,OAAO,CAAC,aAAa,CAAwC;IAE7D,+BAA+B;IAC/B,OAAO,CAAC,MAAM,CAAC,OAAO,CAA8B;IAEpD,yCAAyC;IACzC,OAAO,CAAC,qBAAqB,CAA6B;IAE1D,iCAAiC;IACjC,MAAM,CAAC,UAAU,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI;gBAInC,MAAM,CAAC,EAAE,gBAAgB,EAAE,cAAc,CAAC,EAAE,cAAc;YAcxD,SAAS;IAMvB,qDAAqD;IACrD,SAAS,IAAI,gBAAgB;IAM7B;;;;;OAKG;IACH,IAAI,CAAC,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,UAAU;IA0B3D;;;;;OAKG;IACH,MAAM,CAAC,WAAW,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI;IAgBxD,2DAA2D;IAC3D,oBAAoB,CAAC,WAAW,EAAE,MAAM,GAAG,UAAU,EAAE;IAsBvD;;;OAGG;IACH,OAAO,CAAC,iBAAiB;IAkCzB,0BAA0B;IAC1B,2BAA2B,CAAC,WAAW,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI;IAMnE;;;;OAIG;IACH,oBAAoB,CAAC,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,GAAG,IAAI;IA2BvE;;;OAGG;IACH,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAenD;;;;OAIG;IACG,kBAAkB,CAAC,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IA8BpF,OAAO,CAAC,eAAe;IAIvB,OAAO,CAAC,YAAY;IAUpB,OAAO,CAAC,aAAa;YAOP,kBAAkB;CAcjC"}
1
+ {"version":3,"file":"convention-manager.d.ts","sourceRoot":"","sources":["../../src/convention/convention-manager.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,KAAK,EAAE,UAAU,EAA4B,MAAM,YAAY,CAAC;AAEvE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAEvD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAS1D,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,MAAM,CAAmB;IACjC,OAAO,CAAC,cAAc,CAAiB;IAEvC,+BAA+B;IAC/B,OAAO,CAAC,MAAM,CAAC,OAAO,CAA8B;IAEpD,yCAAyC;IACzC,OAAO,CAAC,qBAAqB,CAA6B;IAE1D,iCAAiC;IACjC,MAAM,CAAC,UAAU,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI;gBAInC,MAAM,CAAC,EAAE,gBAAgB,EAAE,cAAc,CAAC,EAAE,cAAc;IAKtE,qDAAqD;IACrD,SAAS,IAAI,gBAAgB;IAM7B;;;;;OAKG;IACH,IAAI,CAAC,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,UAAU;IA0B3D;;;;;OAKG;IACH,MAAM,CAAC,WAAW,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI;IAgBxD,2DAA2D;IAC3D,oBAAoB,CAAC,WAAW,EAAE,MAAM,GAAG,UAAU,EAAE;IAsBvD;;;OAGG;IACH,OAAO,CAAC,iBAAiB;IAkCzB,0BAA0B;IAC1B,2BAA2B,CAAC,WAAW,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI;IAMnE;;;;OAIG;IACH,oBAAoB,CAAC,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,GAAG,IAAI;IA2BvE;;;OAGG;IACH,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAenD;;;;OAIG;IACH,kBAAkB,CAAC,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,GAAG,IAAI;IA6BrE,OAAO,CAAC,eAAe;IAIvB,OAAO,CAAC,YAAY;IAUpB,OAAO,CAAC,aAAa;IAOrB,OAAO,CAAC,kBAAkB;CAa3B"}
@@ -3,6 +3,7 @@ import path from 'path';
3
3
  import { logger } from '../utils/logger.js';
4
4
  import { ConventionLoader } from './convention-loader.js';
5
5
  import { ConventionDistiller } from './convention-distiller.js';
6
+ import { ClaudeMdWriter } from '../claudemd/writer.js';
6
7
  import { NodeTypeRegistry } from '../pipeline/node-type-registry.js';
7
8
  import { syncConventionNodeTypes } from '../pipeline/node-type-sync.js';
8
9
  const BINDINGS_FILE = 'project-conventions.json';
@@ -12,7 +13,6 @@ function escapeRegex(str) {
12
13
  export class ConventionManager {
13
14
  loader;
14
15
  claudeMdWriter;
15
- writerPromise = null;
16
16
  /** 可选的 storage 注入,用于节点类型持久化 */
17
17
  static storage = null;
18
18
  /** 节点类型注册缓存:projectPath → 绑定 ID 列表的哈希 */
@@ -23,24 +23,7 @@ export class ConventionManager {
23
23
  }
24
24
  constructor(loader, claudeMdWriter) {
25
25
  this.loader = loader ?? new ConventionLoader();
26
- if (claudeMdWriter) {
27
- this.claudeMdWriter = claudeMdWriter;
28
- }
29
- else {
30
- this.claudeMdWriter = null;
31
- // 延迟导入避免循环依赖
32
- this.writerPromise = import('../claudemd/writer.js').then(m => {
33
- this.claudeMdWriter = new m.ClaudeMdWriter();
34
- return this.claudeMdWriter;
35
- });
36
- }
37
- }
38
- async getWriter() {
39
- if (this.claudeMdWriter)
40
- return this.claudeMdWriter;
41
- if (this.writerPromise)
42
- return this.writerPromise;
43
- throw new Error('ClaudeMdWriter 未初始化');
26
+ this.claudeMdWriter = claudeMdWriter ?? new ClaudeMdWriter();
44
27
  }
45
28
  /** 获取 ConventionLoader 实例(供 ConventionEvolver 使用) */
46
29
  getLoader() {
@@ -206,7 +189,7 @@ export class ConventionManager {
206
189
  * 使用 <!-- forge:convention-start:{id} --> 标记,与 claudemd-auto 区块并列。
207
190
  * 若 CLAUDE.md 不存在则创建。
208
191
  */
209
- async injectIntoClaudeMd(projectPath, convention) {
192
+ injectIntoClaudeMd(projectPath, convention) {
210
193
  const startTag = `<!-- forge:convention-start:${convention.id} -->`;
211
194
  const endTag = `<!-- forge:convention-end:${convention.id} -->`;
212
195
  const block = [
@@ -217,8 +200,7 @@ export class ConventionManager {
217
200
  '',
218
201
  endTag,
219
202
  ].join('\n');
220
- const writer = await this.getWriter();
221
- await writer.atomicWrite(projectPath, (current) => {
203
+ this.claudeMdWriter.atomicWriteSync(projectPath, (current) => {
222
204
  if (current.includes(startTag)) {
223
205
  const regex = new RegExp(`${escapeRegex(startTag)}[\\s\\S]*?${escapeRegex(endTag)}`);
224
206
  return current.replace(regex, block);
@@ -251,11 +233,10 @@ export class ConventionManager {
251
233
  fs.mkdirSync(dir, { recursive: true });
252
234
  fs.writeFileSync(bindingsPath, JSON.stringify(bindings, null, 2), 'utf-8');
253
235
  }
254
- async removeFromClaudeMd(projectPath, conventionId) {
236
+ removeFromClaudeMd(projectPath, conventionId) {
255
237
  const startTag = `<!-- forge:convention-start:${conventionId} -->`;
256
238
  const endTag = `<!-- forge:convention-end:${conventionId} -->`;
257
- const writer = await this.getWriter();
258
- await writer.atomicWrite(projectPath, (content) => {
239
+ this.claudeMdWriter.atomicWriteSync(projectPath, (content) => {
259
240
  const regex = new RegExp(`\\n?${escapeRegex(startTag)}[\\s\\S]*?${escapeRegex(endTag)}\\n?`);
260
241
  const updated = content.replace(regex, '\n').trimEnd() + '\n';
261
242
  logger.info(`[规范管理器] 已从 CLAUDE.md 移除 ${conventionId} 区块`);
@@ -1 +1 @@
1
- {"version":3,"file":"convention-manager.js","sourceRoot":"","sources":["../../src/convention/convention-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"convention-manager.js","sourceRoot":"","sources":["../../src/convention/convention-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AAErE,OAAO,EAAE,uBAAuB,EAAE,MAAM,+BAA+B,CAAC;AAExE,MAAM,aAAa,GAAG,0BAA0B,CAAC;AAEjD,SAAS,WAAW,CAAC,GAAW;IAC9B,OAAO,GAAG,CAAC,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC;AACpD,CAAC;AAED,MAAM,OAAO,iBAAiB;IACpB,MAAM,CAAmB;IACzB,cAAc,CAAiB;IAEvC,+BAA+B;IACvB,MAAM,CAAC,OAAO,GAAyB,IAAI,CAAC;IAEpD,yCAAyC;IACjC,qBAAqB,GAAG,IAAI,GAAG,EAAkB,CAAC;IAE1D,iCAAiC;IACjC,MAAM,CAAC,UAAU,CAAC,OAAsB;QACtC,iBAAiB,CAAC,OAAO,GAAG,OAAO,CAAC;IACtC,CAAC;IAED,YAAY,MAAyB,EAAE,cAA+B;QACpE,IAAI,CAAC,MAAM,GAAG,MAAM,IAAI,IAAI,gBAAgB,EAAE,CAAC;QAC/C,IAAI,CAAC,cAAc,GAAG,cAAc,IAAI,IAAI,cAAc,EAAE,CAAC;IAC/D,CAAC;IAED,qDAAqD;IACrD,SAAS;QACP,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,yEAAyE;IAEzE;;;;;OAKG;IACH,IAAI,CAAC,WAAmB,EAAE,YAAoB;QAC5C,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;QACtD,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,MAAM,IAAI,KAAK,CAAC,eAAe,YAAY,gCAAgC,CAAC,CAAC;QAC/E,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;QAChD,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,KAAK,YAAY,CAAC,EAAE,CAAC;YAC3D,MAAM,CAAC,IAAI,CAAC,WAAW,YAAY,SAAS,WAAW,KAAK,CAAC,CAAC;YAC9D,OAAO,UAAU,CAAC;QACpB,CAAC;QAED,QAAQ,CAAC,IAAI,CAAC;YACZ,aAAa,EAAE,YAAY;YAC3B,QAAQ,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YAClC,YAAY,EAAE,WAAW;SAC1B,CAAC,CAAC;QAEH,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;QAC1C,IAAI,CAAC,kBAAkB,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;QACjD,MAAM,CAAC,IAAI,CAAC,eAAe,YAAY,MAAM,WAAW,EAAE,CAAC,CAAC;QAC5D,2CAA2C;QAC3C,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QAC/C,OAAO,UAAU,CAAC;IACpB,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,WAAmB,EAAE,YAAqB;QAC/C,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;QAEhD,IAAI,YAAY,EAAE,CAAC;YACjB,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,KAAK,YAAY,CAAC,CAAC,CAAC;YAC1F,IAAI,CAAC,kBAAkB,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;YACnD,MAAM,CAAC,IAAI,CAAC,eAAe,YAAY,SAAS,WAAW,EAAE,CAAC,CAAC;QACjE,CAAC;aAAM,CAAC;YACN,KAAK,MAAM,CAAC,IAAI,QAAQ;gBAAE,IAAI,CAAC,kBAAkB,CAAC,WAAW,EAAE,CAAC,CAAC,aAAa,CAAC,CAAC;YAChF,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;YACpC,MAAM,CAAC,IAAI,CAAC,wBAAwB,WAAW,EAAE,CAAC,CAAC;QACrD,CAAC;QACD,aAAa;QACb,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IACjD,CAAC;IAED,2DAA2D;IAC3D,oBAAoB,CAAC,WAAmB;QACtC,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;QAChD,MAAM,MAAM,GAAiB,EAAE,CAAC;QAEhC,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC/B,IAAI,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;YAC7D,IAAI,CAAC,UAAU,IAAI,OAAO,CAAC,aAAa,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC/D,UAAU,GAAG,IAAI,CAAC,2BAA2B,CAAC,WAAW,CAAC,CAAC;YAC7D,CAAC;YACD,IAAI,UAAU,EAAE,CAAC;gBACf,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAC1B,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,IAAI,CAAC,2BAA2B,OAAO,CAAC,aAAa,YAAY,CAAC,CAAC;YAC5E,CAAC;QACH,CAAC;QAED,+CAA+C;QAC/C,IAAI,CAAC,iBAAiB,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;QAE5C,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;OAGG;IACK,iBAAiB,CAAC,WAAmB,EAAE,WAAyB;QACtE,kCAAkC;QAClC,MAAM,WAAW,GAAG,WAAW;aAC5B,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;aAChC,IAAI,EAAE;aACN,IAAI,CAAC,GAAG,CAAC,CAAC;QAEb,kBAAkB;QAClB,MAAM,MAAM,GAAG,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QAC3D,IAAI,MAAM,KAAK,WAAW,EAAE,CAAC;YAC3B,OAAO,CAAC,aAAa;QACvB,CAAC;QAED,YAAY;QACZ,MAAM,QAAQ,GAAG,gBAAgB,CAAC,WAAW,EAAE,CAAC;QAChD,QAAQ,CAAC,aAAa,EAAE,CAAC,CAAC,WAAW;QAErC,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE,CAAC;YACrC,IAAI,UAAU,CAAC,UAAU,IAAI,UAAU,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC9D,QAAQ,CAAC,sBAAsB,CAAC,UAAU,CAAC,CAAC;gBAC5C,MAAM,CAAC,IAAI,CAAC,eAAe,UAAU,CAAC,UAAU,CAAC,MAAM,eAAe,UAAU,CAAC,EAAE,EAAE,CAAC,CAAC;YACzF,CAAC;QACH,CAAC;QAED,yBAAyB;QACzB,IAAI,iBAAiB,CAAC,OAAO,EAAE,CAAC;YAC9B,uBAAuB,CAAC,iBAAiB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;QAClE,CAAC;QAED,OAAO;QACP,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;QACzD,MAAM,CAAC,KAAK,CAAC,uBAAuB,WAAW,EAAE,CAAC,CAAC;IACrD,CAAC;IAED,0BAA0B;IAC1B,2BAA2B,CAAC,WAAmB;QAC7C,MAAM,QAAQ,GAAG,mBAAmB,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;QACjE,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC;YAAE,OAAO,IAAI,CAAC;QAC1C,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACxC,CAAC;IAED;;;;OAIG;IACH,oBAAoB,CAAC,WAAmB,EAAE,UAAsB;QAC9D,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;QAEhD,8BAA8B;QAC9B,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;YACzB,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC3C,IAAI,CAAC,kBAAkB,CAAC,WAAW,EAAE,CAAC,CAAC,aAAa,CAAC,CAAC;YACxD,CAAC;QACH,CAAC;QAED,MAAM,aAAa,GAA6B;YAC9C,aAAa,EAAE,UAAU,CAAC,EAAE;YAC5B,QAAQ,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YAClC,YAAY,EAAE,WAAW;SAC1B,CAAC;QAEF,iBAAiB;QACjB,MAAM,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,aAAa,KAAK,UAAU,CAAC,EAAE,CAAC,CAAC;QACpH,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC7B,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;QAE1C,IAAI,CAAC,kBAAkB,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;QACjD,MAAM,CAAC,IAAI,CAAC,oBAAoB,UAAU,CAAC,EAAE,MAAM,WAAW,SAAS,CAAC,CAAC;QACzE,aAAa;QACb,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IACjD,CAAC;IAED;;;OAGG;IACH,eAAe,CAAC,WAAmB;QACjC,MAAM,WAAW,GAAG,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,CAAC;QAC3D,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QAE1C,MAAM,OAAO,GAAG,WAAW;aACxB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC;aAClC,MAAM,CAAC,OAAO,CAAC;aACf,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,iBAAiB;QAC5D,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QAEtC,OAAO,OAAO,CAAC,MAAM,KAAK,CAAC;YACzB,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;YACZ,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC5D,CAAC;IAED;;;;OAIG;IACH,kBAAkB,CAAC,WAAmB,EAAE,UAAsB;QAC5D,MAAM,QAAQ,GAAG,+BAA+B,UAAU,CAAC,EAAE,MAAM,CAAC;QACpE,MAAM,MAAM,GAAG,6BAA6B,UAAU,CAAC,EAAE,MAAM,CAAC;QAEhE,MAAM,KAAK,GAAG;YACZ,QAAQ;YACR,aAAa,UAAU,CAAC,IAAI,MAAM,UAAU,CAAC,OAAO,GAAG;YACvD,EAAE;YACF,UAAU,CAAC,UAAU,CAAC,IAAI,EAAE;YAC5B,EAAE;YACF,MAAM;SACP,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEb,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC,WAAW,EAAE,CAAC,OAAO,EAAE,EAAE;YAC3D,IAAI,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC/B,MAAM,KAAK,GAAG,IAAI,MAAM,CACtB,GAAG,WAAW,CAAC,QAAQ,CAAC,aAAa,WAAW,CAAC,MAAM,CAAC,EAAE,CAC3D,CAAC;gBACF,OAAO,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;YACvC,CAAC;iBAAM,CAAC;gBACN,OAAO,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC;YACpE,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,MAAM,CAAC,IAAI,CAAC,cAAc,UAAU,CAAC,EAAE,0BAA0B,CAAC,CAAC;IACrE,CAAC;IAED,yEAAyE;IAEjE,eAAe,CAAC,WAAmB;QACzC,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,eAAe,EAAE,aAAa,CAAC,CAAC;IAChE,CAAC;IAEO,YAAY,CAAC,WAAmB;QACtC,MAAM,YAAY,GAAG,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC;QACvD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC;YAAE,OAAO,EAAE,CAAC;QAC5C,IAAI,CAAC;YACH,OAAO,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,CAA+B,CAAC;QAC1F,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IAEO,aAAa,CAAC,WAAmB,EAAE,QAAoC;QAC7E,MAAM,YAAY,GAAG,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC;QACvD,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;QACvC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC;YAAE,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAChE,EAAE,CAAC,aAAa,CAAC,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;IAC7E,CAAC;IAEO,kBAAkB,CAAC,WAAmB,EAAE,YAAoB;QAClE,MAAM,QAAQ,GAAG,+BAA+B,YAAY,MAAM,CAAC;QACnE,MAAM,MAAM,GAAG,6BAA6B,YAAY,MAAM,CAAC;QAE/D,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC,WAAW,EAAE,CAAC,OAAO,EAAE,EAAE;YAC3D,MAAM,KAAK,GAAG,IAAI,MAAM,CACtB,OAAO,WAAW,CAAC,QAAQ,CAAC,aAAa,WAAW,CAAC,MAAM,CAAC,MAAM,CACnE,CAAC;YACF,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC;YAC9D,MAAM,CAAC,IAAI,CAAC,2BAA2B,YAAY,KAAK,CAAC,CAAC;YAC1D,OAAO,OAAO,CAAC;QACjB,CAAC,CAAC,CAAC;IACL,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"post-tool-use-handler.d.ts","sourceRoot":"","sources":["../../../src/daemon/handlers/post-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;AAOpD,qBAAa,kBAAmB,SAAQ,eAAe;IACrD,0DAA0D;IAC1D,OAAO,CAAC,iBAAiB,CAGtB;gBAES,GAAG,EAAE,cAAc;IAIzB,MAAM,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC;CAoQ9D"}
1
+ {"version":3,"file":"post-tool-use-handler.d.ts","sourceRoot":"","sources":["../../../src/daemon/handlers/post-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;AAOpD,qBAAa,kBAAmB,SAAQ,eAAe;IACrD,0DAA0D;IAC1D,OAAO,CAAC,iBAAiB,CAGtB;gBAES,GAAG,EAAE,cAAc;IAIzB,MAAM,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC;CAqQ9D"}
@@ -14,7 +14,8 @@ export class PostToolUseHandler extends BaseHookHandler {
14
14
  super(ctx);
15
15
  }
16
16
  async handle(event) {
17
- const { orchestration, skillRegistry, pipelineEngine, trigger, resumeEngine, qualityGate, intentEngine, knowledgeGraph, deniedTools } = this.ctx;
17
+ const { orchestration, skillRegistry, pipelineEngine, trigger, resumeEngine, qualityGate, intentEngine, knowledgeGraph } = this.ctx;
18
+ const deniedTools = this.ctx.deniedTools ?? new Map();
18
19
  // 0. 如果对应的 PreToolUse 已被拒绝,跳过所有 Pipeline 处理(工具实际未执行)
19
20
  const denyKey = `${event.session_id}:${event.project_path}:${event.tool_name}:${JSON.stringify(event.tool_input ?? {})}`;
20
21
  const denyCount = deniedTools.get(denyKey) ?? 0;
@@ -1 +1 @@
1
- {"version":3,"file":"post-tool-use-handler.js","sourceRoot":"","sources":["../../../src/daemon/handlers/post-tool-use-handler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"post-tool-use-handler.js","sourceRoot":"","sources":["../../../src/daemon/handlers/post-tool-use-handler.ts"],"names":[],"mappings":"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"}
@@ -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;IAmM7D,OAAO,CAAC,mBAAmB;CAsB5B"}
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;IAkK7D,OAAO,CAAC,mBAAmB;CAsB5B"}
@@ -29,7 +29,9 @@ export class PreToolUseHandler extends BaseHookHandler {
29
29
  }
30
30
  }
31
31
  // 1.5 硬阻断检查:PostToolUse 已判定 Pipeline 阻断后,在 PreToolUse 阶段拒绝所有后续工具调用
32
- const blockedState = pipelineEngine?.getBlockedState(event.project_path);
32
+ const blockedState = pipelineEngine && typeof pipelineEngine.getBlockedState === 'function'
33
+ ? pipelineEngine.getBlockedState(event.project_path)
34
+ : null;
33
35
  if (blockedState) {
34
36
  const reason = blockedState.reason || '[Pipeline 已阻断] 产物验证失败或质量门禁未通过,必须修复后重启 Pipeline';
35
37
  logger.error(`[Forge:硬阻断] 拒绝工具调用:phase-blocked | tool=${event.tool_name}`);
@@ -46,34 +48,21 @@ export class PreToolUseHandler extends BaseHookHandler {
46
48
  },
47
49
  };
48
50
  }
49
- // 1.6 产物重试强制门禁:仅在节点处于 enriching 阶段时启用强限制
50
- // uninitialized/bootstrapped 阶段允许继续 Read/Grep/Agent 调研,避免过早锁死
51
- const activePipelineForArtifact = pipelineEngine?.getActivePipelineForProject(event.project_path);
52
- if (activePipelineForArtifact && activePipelineForArtifact.id.startsWith('dp_') && event.tool_name && pipelineEngine) {
53
- const isInArtifactRetry = pipelineEngine.isInArtifactRetry(event.project_path);
54
- const dyn = pipelineEngine.getActiveDynamicPipelineForProject(event.project_path);
55
- const currentNodeId = dyn?.currentNodeId;
56
- const stage = currentNodeId ? pipelineEngine.getDynamicNodeExecutor().getArtifactStage(dyn.id, currentNodeId) : 'uninitialized';
57
- if (isInArtifactRetry && stage === 'enriching') {
58
- const tool = event.tool_name;
59
- const isWriteOrEdit = tool === 'Write' || tool === 'Edit';
60
- const bashCommand = String(event.tool_input?.command ?? '');
61
- const isDoneSignalBash = tool === 'Bash' && /FORGE_NODE_DONE/.test(bashCommand);
62
- if (!isWriteOrEdit && !isDoneSignalBash) {
63
- logger.warn(`[Forge:产物门禁] 节点处于 enriching 重试阶段,禁止 ${tool},只允许 Write/Edit(Bash 仅允许 FORGE_NODE_DONE)`);
64
- // 记录被拒绝的工具调用,PostToolUse 据此跳过产物验证和重试计数
65
- const denyKey = `${event.session_id}:${event.project_path}:${tool}:${JSON.stringify(event.tool_input ?? {})}`;
66
- deniedTools.set(denyKey, (deniedTools.get(denyKey) ?? 0) + 1);
67
- return {
68
- allow: false,
69
- reason: `[Forge 产物门禁] 当前节点处于产物修复阶段(enriching)。只允许使用 Write/Edit 修复产物;Bash 仅允许发送完成信号(FORGE_NODE_DONE)。请立即编辑已生成的文档产物文件。`,
70
- hookSpecificOutput: {
71
- hookEventName: 'PreToolUse',
72
- permissionDecision: 'deny',
73
- permissionDecisionReason: `产物重试(enriching)期间仅允许 Write/Edit,Bash 仅允许 FORGE_NODE_DONE;禁止 ${tool}`,
74
- },
75
- };
76
- }
51
+ // 1.6 动态 Pipeline 统一前置门禁:产物修复 + Step 工具白名单
52
+ if (pipelineEngine && event.tool_name && typeof pipelineEngine.evaluatePreToolGate === 'function') {
53
+ const preToolGate = pipelineEngine.evaluatePreToolGate(event);
54
+ if (preToolGate && !preToolGate.allowed) {
55
+ const denyKey = `${event.session_id}:${event.project_path}:${event.tool_name}:${JSON.stringify(event.tool_input ?? {})}`;
56
+ deniedTools.set(denyKey, (deniedTools.get(denyKey) ?? 0) + 1);
57
+ return {
58
+ allow: false,
59
+ reason: preToolGate.reason,
60
+ hookSpecificOutput: {
61
+ hookEventName: 'PreToolUse',
62
+ permissionDecision: 'deny',
63
+ permissionDecisionReason: preToolGate.reason ?? '动态 Pipeline 前置门禁拒绝',
64
+ },
65
+ };
77
66
  }
78
67
  }
79
68
  // 2. Skill 推荐注入(传入当前 Pipeline 阶段,支持按阶段过滤技能)
@@ -124,25 +113,6 @@ export class PreToolUseHandler extends BaseHookHandler {
124
113
  };
125
114
  }
126
115
  }
127
- // 3.6 Step 级工具白名单(Step 模式启用时生效)
128
- if (pipelineEngine && activePipeline && activePipeline.id.startsWith('dp_') && event.tool_name) {
129
- const stepGateResult = pipelineEngine.checkStepGate(event);
130
- if (stepGateResult && !stepGateResult.allowed) {
131
- logger.warn(`[Forge:StepGate] 工具已拦截:${event.tool_name} | ${stepGateResult.reason}`);
132
- // 记录被拒绝的工具调用
133
- const denyKey = `${event.session_id}:${event.project_path}:${event.tool_name}:${JSON.stringify(event.tool_input ?? {})}`;
134
- deniedTools.set(denyKey, (deniedTools.get(denyKey) ?? 0) + 1);
135
- return {
136
- allow: false,
137
- reason: stepGateResult.reason,
138
- hookSpecificOutput: {
139
- hookEventName: 'PreToolUse',
140
- permissionDecision: 'deny',
141
- permissionDecisionReason: stepGateResult.reason,
142
- },
143
- };
144
- }
145
- }
146
116
  // 3.6 Forge 管理项目:Write/Edit 无活跃 Pipeline 时硬阻断
147
117
  // 豁免:claude-forge 自身开发(FORGE_DEV=1 或项目路径包含 claude-forge 源码目录)
148
118
  const toolName = event.tool_name || '';
@@ -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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"}
@@ -27,7 +27,7 @@ export class TemplateRouteStage {
27
27
  if (!result.template || result.confidence < 0.6)
28
28
  return { shouldTerminate: false };
29
29
  logger.info(`[模板路由] 命中:${result.template.id}(方式=${result.method}, 置信度=${result.confidence.toFixed(2)})`);
30
- const pipeline = await pipelineEngine.startPipelineFromTemplate(analysis.requirement, ctx.event.project_path, ctx.event.session_id, result.template);
30
+ const pipeline = await pipelineEngine.startPipelineFromTemplate(analysis.requirement, ctx.event.project_path, ctx.event.session_id, result.template, analysis, result);
31
31
  if (qualityGate) {
32
32
  qualityGate.setRequirement(analysis.requirement);
33
33
  qualityGate.setTaskType(result.template.taskType || 'other');
@@ -36,7 +36,7 @@ export class TemplateRouteStage {
36
36
  intent: analysis.requirement,
37
37
  complexity: analysis.complexity,
38
38
  path: '编排流程',
39
- plan: analysis.suggestedPhases.length > 0 ? analysis.suggestedPhases : ['分析', '执行', '验证'],
39
+ plan: pipeline.executionPlan?.stages.map(stage => stage.name) ?? (analysis.suggestedPhases.length > 0 ? analysis.suggestedPhases : ['分析', '执行', '验证']),
40
40
  estimatedTime: '30-45分钟',
41
41
  clarifyQuestions: analysis.clarifyQuestions,
42
42
  });