@winspan/claude-forge 1.58.0 → 1.66.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.
Files changed (51) hide show
  1. package/README.md +4 -4
  2. package/dist/convention/convention-manager.d.ts +8 -1
  3. package/dist/convention/convention-manager.d.ts.map +1 -1
  4. package/dist/convention/convention-manager.js +38 -5
  5. package/dist/convention/convention-manager.js.map +1 -1
  6. package/dist/convention/types.d.ts +57 -0
  7. package/dist/convention/types.d.ts.map +1 -1
  8. package/dist/daemon/index.d.ts.map +1 -1
  9. package/dist/daemon/index.js +6 -0
  10. package/dist/daemon/index.js.map +1 -1
  11. package/dist/pipeline/artifact-collector.d.ts +31 -0
  12. package/dist/pipeline/artifact-collector.d.ts.map +1 -0
  13. package/dist/pipeline/artifact-collector.js +105 -0
  14. package/dist/pipeline/artifact-collector.js.map +1 -0
  15. package/dist/pipeline/artifact-validator.d.ts +26 -0
  16. package/dist/pipeline/artifact-validator.d.ts.map +1 -0
  17. package/dist/pipeline/artifact-validator.js +108 -0
  18. package/dist/pipeline/artifact-validator.js.map +1 -0
  19. package/dist/pipeline/dynamic-node-executor.d.ts +2 -0
  20. package/dist/pipeline/dynamic-node-executor.d.ts.map +1 -1
  21. package/dist/pipeline/dynamic-node-executor.js +35 -3
  22. package/dist/pipeline/dynamic-node-executor.js.map +1 -1
  23. package/dist/pipeline/i-node-executor.d.ts +2 -0
  24. package/dist/pipeline/i-node-executor.d.ts.map +1 -1
  25. package/dist/pipeline/index.d.ts.map +1 -1
  26. package/dist/pipeline/index.js +3 -2
  27. package/dist/pipeline/index.js.map +1 -1
  28. package/dist/pipeline/node-type-registry.d.ts.map +1 -1
  29. package/dist/pipeline/node-type-registry.js +53 -1
  30. package/dist/pipeline/node-type-registry.js.map +1 -1
  31. package/dist/pipeline/node-type-sync.d.ts +17 -0
  32. package/dist/pipeline/node-type-sync.d.ts.map +1 -0
  33. package/dist/pipeline/node-type-sync.js +147 -0
  34. package/dist/pipeline/node-type-sync.js.map +1 -0
  35. package/dist/pipeline/template-registry.d.ts +1 -1
  36. package/dist/pipeline/template-registry.d.ts.map +1 -1
  37. package/dist/pipeline/template-registry.js +54 -3
  38. package/dist/pipeline/template-registry.js.map +1 -1
  39. package/dist/storage/repositories/node-type-repository.d.ts +52 -0
  40. package/dist/storage/repositories/node-type-repository.d.ts.map +1 -0
  41. package/dist/storage/repositories/node-type-repository.js +130 -0
  42. package/dist/storage/repositories/node-type-repository.js.map +1 -0
  43. package/dist/storage/sqlite.d.ts +2 -0
  44. package/dist/storage/sqlite.d.ts.map +1 -1
  45. package/dist/storage/sqlite.js +26 -1
  46. package/dist/storage/sqlite.js.map +1 -1
  47. package/dist/web-static/assets/index-80GT9jgH.js +76 -0
  48. package/dist/web-static/assets/{index-Bv6kBfyq.css → index-CqOaxWJz.css} +1 -1
  49. package/dist/web-static/index.html +2 -2
  50. package/package.json +1 -1
  51. package/dist/web-static/assets/index-hI3x8Pl0.js +0 -76
package/README.md CHANGED
@@ -10,9 +10,9 @@ Claude Forge 是一个为 Claude Code 设计的智能编排引擎,通过透明
10
10
  ## ✨ 核心特性
11
11
 
12
12
  - 🎯 **智能意图识别** - 自动分析任务复杂度,决定执行策略(支持规则库匹配和 AI 推理) [x] 2025-01-18
13
- - 🔄 **Pipeline 编排** - 复杂任务自动拆分为多阶段流程(分析→设计→编码→测试→审查),支持纯事件溯源架构和状态机约束,确保状态一致性,daemon 启动时自动迁移历史数据,阶段产物统一输出到 docs/时间戳/ 目录,支持动态节点系统(Convention 定义节点类型,Skill 作为执行策略,NodeTypeRegistry 聚合节点类型,DynamicNodeExecutor 驱动执行,INodeExecutor 接口统一 PhaseManager 和 DynamicNodeExecutor,DynamicAggregator 支持动态节点事件聚合,启发式完成检测增强支持 file_patterns 和 keywords,Web API 支持动态流水线创建和手动推进),管理后台深度审查与修复完成(9个核心页面4750行代码,发现28个问题,修复13个P1/P2问题,新增质量问题上下文查询接口,优化事件展开性能和UX体验),节点类型管理页面和动态流水线节点展示组件已实现,NodeTypes 页面和 PipelineDetail 动态节点展示已集成,Legacy Pipeline 迁移脚本已完成,节点类型 API 路由已注册,动态节点系统全栈集成完成 [x] 2026-04-23
13
+ - 🔄 **Pipeline 编排** - 复杂任务自动拆分为多阶段流程(分析→设计→编码→测试→审查),支持纯事件溯源架构和状态机约束,确保状态一致性,daemon 启动时自动迁移历史数据,阶段产物统一输出到 docs/时间戳/ 目录,支持动态节点系统(Convention 定义节点类型,Skill 作为执行策略,NodeTypeRegistry 聚合节点类型,DynamicNodeExecutor 驱动执行,INodeExecutor 接口统一 PhaseManager 和 DynamicNodeExecutor,DynamicAggregator 支持动态节点事件聚合,启发式完成检测增强支持 file_patterns 和 keywords,Web API 支持动态流水线创建和手动推进),管理后台深度审查与修复完成(9个核心页面4750行代码,发现28个问题,修复13个P1/P2问题,新增质量问题上下文查询接口,优化事件展开性能和UX体验),节点类型管理页面和动态流水线节点展示组件已实现,NodeTypes 页面和 PipelineDetail 动态节点展示已集成,Legacy Pipeline 迁移脚本已完成,节点类型 API 路由已注册,动态节点系统全栈集成完成,全栈集成验证通过(NodeTypes页面正常展示节点类型,PipelineDetail页面正常展示动态节点,API路由正常响应),节点类型持久化到数据库(node_types表),启动时自动恢复到内存注册表,Convention加载时同步节点类型定义,流水线节点产物约束设计与实现完成(ArtifactType定义、ArtifactConstraint约束、ArtifactCollector收集器、ArtifactValidator验证器、NodeOutput结构化输出、启发式完成检测集成产物验证、Web前端展示产物列表和验证状态) [x] 2026-04-23
14
14
  - 🛡️ **质量门禁** - 每个阶段自动 AI 审查,支持需求规格、安全性、代码质量、测试覆盖、性能等多维度检查,问题追踪和解决状态管理,支持上下文查询 [x] 2025-01-18
15
- - 📊 **Web 管理后台** - 实时监控会话、Pipeline、质量问题(支持上下文查询和批量解决)、知识图谱、项目管理、自定义规范管理、技能管理、CLAUDE.md 管理(支持模块化查看和蒸馏压缩)、项目规范绑定管理、项目元数据管理(标签/备注/归档)、全局规范管理(同步/安装/删除/进化/YAML编辑/使用统计/进化历史)、阶段产物统一管理(docs/时间戳/目录结构+INDEX.md索引)、动态节点类型管理(NodeTypeRegistry 可视化)、TemplateRegistry 支持三种来源(builtin/user/convention)、动态流水线创建和手动推进操作、事件日志管理(查看/搜索/导出/清理)、数据库维护功能(备份/恢复/历史记录/诊断修复),深度代码审查完成(9个核心页面28个问题,修复13个P1/P2问题,包括运行时错误、性能优化、竞态条件、UX改进),节点类型管理页面和动态流水线节点展示组件已实现,NodeTypes 页面和 PipelineDetail 动态节点展示已集成,Legacy Pipeline 数据迁移支持已完成,节点类型 API 路由已注册,动态节点系统全栈集成完成 [x] 2026-04-23
15
+ - 📊 **Web 管理后台** - 实时监控会话、Pipeline、质量问题(支持上下文查询和批量解决)、知识图谱、项目管理、自定义规范管理、技能管理、CLAUDE.md 管理(支持模块化查看和蒸馏压缩)、项目规范绑定管理、项目元数据管理(标签/备注/归档)、全局规范管理(同步/安装/删除/进化/YAML编辑/使用统计/进化历史)、阶段产物统一管理(docs/时间戳/目录结构+INDEX.md索引)、动态节点类型管理(NodeTypeRegistry 可视化)、TemplateRegistry 支持三种来源(builtin/user/convention)、动态流水线创建和手动推进操作、事件日志管理(查看/搜索/导出/清理)、数据库维护功能(备份/恢复/历史记录/诊断修复),深度代码审查完成(9个核心页面28个问题,修复13个P1/P2问题,包括运行时错误、性能优化、竞态条件、UX改进),节点类型管理页面和动态流水线节点展示组件已实现,NodeTypes 页面和 PipelineDetail 动态节点展示已集成,Legacy Pipeline 数据迁移支持已完成,节点类型 API 路由已注册,动态节点系统全栈集成完成,全栈集成验证通过(NodeTypes页面正常展示节点类型,PipelineDetail页面正常展示动态节点,API路由正常响应),节点类型持久化和恢复机制已实现,DynamicPipelineNodes组件支持产物展示(artifacts列表、验证状态、类型图标、路径链接) [x] 2026-04-23
16
16
  - 🧠 **知识积累** - 自动提炼决策日志、时间线、项目规范,支持树索引和语义检索 [x] 2025-01-18
17
17
  - 🎨 **技能编排** - 根据意图自动匹配并注入最佳实践(TDD、重构、调试等),支持关键词映射和命中率统计 [x] 2025-01-18
18
18
  - 📈 **数据分析** - 成本统计、满意度趋势、ROI 分析,支持延迟追踪和 SLA 告警 [x] 2025-01-18
@@ -25,14 +25,14 @@ Claude Forge 是一个为 Claude Code 设计的智能编排引擎,通过透明
25
25
  | 功能 | 说明 |
26
26
  |------|------|
27
27
  | 意图识别 | 自动分析任务复杂度(simple/moderate/complex),决定执行策略,支持规则库和 AI 推理 [x] 2025-01-18 |
28
- | Pipeline 编排 | 复杂任务自动拆分为多阶段流程,支持纯事件溯源、状态机约束、质量门禁、阶段产物生成(统一输出到 docs/时间戳/ 目录+INDEX.md索引)、daemon 启动时自动迁移历史数据、动态节点系统(Convention 定义节点类型,NodeTypeRegistry 聚合,DynamicNodeExecutor 驱动,Skill 作为执行策略,INodeExecutor 接口统一,TemplateRegistry 支持三种来源,启发式完成检测增强,Web API 操作端点),管理后台深度审查与修复完成(修复运行时错误、性能问题、竞态条件、UX体验等13个P1/P2问题),节点类型管理页面和动态流水线节点展示组件已实现,NodeTypes 页面和 PipelineDetail 动态节点展示已集成,Legacy Pipeline 迁移脚本已完成,节点类型 API 路由已注册,动态节点系统全栈集成完成 [x] 2026-04-23 |
28
+ | Pipeline 编排 | 复杂任务自动拆分为多阶段流程,支持纯事件溯源、状态机约束、质量门禁、阶段产物生成(统一输出到 docs/时间戳/ 目录+INDEX.md索引)、daemon 启动时自动迁移历史数据、动态节点系统(Convention 定义节点类型,NodeTypeRegistry 聚合,DynamicNodeExecutor 驱动,Skill 作为执行策略,INodeExecutor 接口统一,TemplateRegistry 支持三种来源,启发式完成检测增强,Web API 操作端点),管理后台深度审查与修复完成(修复运行时错误、性能问题、竞态条件、UX体验等13个P1/P2问题),节点类型管理页面和动态流水线节点展示组件已实现,NodeTypes 页面和 PipelineDetail 动态节点展示已集成,Legacy Pipeline 迁移脚本已完成,节点类型 API 路由已注册,动态节点系统全栈集成完成,全栈集成验证通过(NodeTypes页面正常展示节点类型,PipelineDetail页面正常展示动态节点,API路由正常响应),节点类型持久化到数据库(node_types表+NodeTypeRepository),启动时自动恢复到内存注册表,Convention加载时同步节点类型定义,流水线节点产物约束系统完成(ArtifactCollector追踪Write/Edit工具调用、ArtifactValidator验证产物约束、NodeOutput结构化输出、DynamicPipelineNodes组件展示产物列表和验证状态) [x] 2026-04-23 |
29
29
  | 质量门禁 | 每个阶段自动 AI 审查(需求规格、安全性、代码质量、测试、性能),不合格则阻止推进 [x] 2025-01-18 |
30
30
  | 技能编排 | 根据意图自动匹配并注入最佳实践,支持关键词映射和命中率统计 [x] 2025-01-18 |
31
31
  | 知识蒸馏 | 自动提炼决策日志、时间线、项目规范,支持树索引和语义检索 [x] 2025-01-18 |
32
32
  | 会话续接 | 中断后自动恢复上次工作状态 [x] 2025-01-18 |
33
33
  | 用户画像 | 根据行为自适应调整干预深度 [x] 2025-01-18 |
34
34
  | 多 AI 提供商 | 支持 Claude、OpenAI、Ollama,统一网关层 [x] 2025-01-18 |
35
- | Web 管理后台 | 实时监控、项目管理、Pipeline 控制、质量追踪(支持上下文查询和批量解决)、自定义规范管理、技能管理、CLAUDE.md 管理、项目规范绑定管理、项目元数据管理(标签/备注/归档)、全局规范管理(同步/安装/删除/进化/YAML编辑/使用统计/进化历史)、阶段产物索引管理、动态节点类型管理(NodeTypeRegistry 可视化)、TemplateRegistry 可视化、动态流水线创建和手动推进、事件日志管理、数据库维护功能(备份/恢复/历史记录/诊断修复),深度代码审查完成(9个核心页面4750行代码,发现28个问题,修复13个P1/P2问题,包括运行时错误修复、性能优化、竞态条件处理、UX体验改进),节点类型管理页面和动态流水线节点展示组件已实现,NodeTypes 页面和 PipelineDetail 动态节点展示已集成,Legacy Pipeline 数据迁移支持已完成,节点类型 API 路由已注册,动态节点系统全栈集成完成 [x] 2026-04-23 |
35
+ | Web 管理后台 | 实时监控、项目管理、Pipeline 控制、质量追踪(支持上下文查询和批量解决)、自定义规范管理、技能管理、CLAUDE.md 管理、项目规范绑定管理、项目元数据管理(标签/备注/归档)、全局规范管理(同步/安装/删除/进化/YAML编辑/使用统计/进化历史)、阶段产物索引管理、动态节点类型管理(NodeTypeRegistry 可视化)、TemplateRegistry 可视化、动态流水线创建和手动推进、事件日志管理、数据库维护功能(备份/恢复/历史记录/诊断修复),深度代码审查完成(9个核心页面4750行代码,发现28个问题,修复13个P1/P2问题,包括运行时错误修复、性能优化、竞态条件处理、UX体验改进),节点类型管理页面和动态流水线节点展示组件已实现,NodeTypes 页面和 PipelineDetail 动态节点展示已集成,Legacy Pipeline 数据迁移支持已完成,节点类型 API 路由已注册,动态节点系统全栈集成完成,全栈集成验证通过(NodeTypes页面正常展示节点类型,PipelineDetail页面正常展示动态节点,API路由正常响应),节点类型持久化和恢复机制已实现,DynamicPipelineNodes组件支持产物可视化(类型图标、路径链接、验证状态徽章) [x] 2026-04-23 |
36
36
  | 阶段产物 | 每个阶段自动生成结构化文档 [x] 2025-01-18 |
37
37
  | 模式学习 | 从历史失败中提炼预防建议,支持 Thompson Sampling 策略选择 [x] 2025-01-18 |
38
38
  | 项目规范 | 根据技术栈自动蒸馏项目级规范,支持自动初始化和 AI 自进化 [x] 2025-01-18 |
@@ -1,10 +1,17 @@
1
1
  import { ConventionLoader } from './convention-loader.js';
2
2
  import type { Convention } from './types.js';
3
3
  import type { ClaudeMdWriter } from '../claudemd/writer.js';
4
+ import type { SQLiteStorage } from '../storage/sqlite.js';
4
5
  export declare class ConventionManager {
5
6
  private loader;
6
7
  private claudeMdWriter;
7
8
  private writerPromise;
9
+ /** 可选的 storage 注入,用于节点类型持久化 */
10
+ private static storage;
11
+ /** 节点类型注册缓存:projectPath → 绑定 ID 列表的哈希 */
12
+ private nodeTypeRegistryCache;
13
+ /** 注入 storage(daemon 启动时调用一次) */
14
+ static setStorage(storage: SQLiteStorage): void;
8
15
  constructor(loader?: ConventionLoader, claudeMdWriter?: ClaudeMdWriter);
9
16
  private getWriter;
10
17
  /** 获取 ConventionLoader 实例(供 ConventionEvolver 使用) */
@@ -27,7 +34,7 @@ export declare class ConventionManager {
27
34
  getActiveConventions(projectPath: string): Convention[];
28
35
  /**
29
36
  * 将 Convention 的 node_types 注册到 NodeTypeRegistry
30
- * 每次 getActiveConventions 时调用,确保节点类型始终同步
37
+ * 使用缓存机制,只有绑定变化时才重新注册
31
38
  */
32
39
  private registerNodeTypes;
33
40
  /** 加载项目本地的自定义蒸馏规范(若存在) */
@@ -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;AAS5D,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,MAAM,CAAmB;IACjC,OAAO,CAAC,cAAc,CAAwB;IAC9C,OAAO,CAAC,aAAa,CAAwC;gBAEjD,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;IAwB3D;;;;;OAKG;IACH,MAAM,CAAC,WAAW,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI;IAcxD,2DAA2D;IAC3D,oBAAoB,CAAC,WAAW,EAAE,MAAM,GAAG,UAAU,EAAE;IAsBvD;;;OAGG;IACH,OAAO,CAAC,iBAAiB;IAYzB,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;IAyBvE;;;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,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"}
@@ -4,6 +4,7 @@ import { logger } from '../utils/logger.js';
4
4
  import { ConventionLoader } from './convention-loader.js';
5
5
  import { ConventionDistiller } from './convention-distiller.js';
6
6
  import { NodeTypeRegistry } from '../pipeline/node-type-registry.js';
7
+ import { syncConventionNodeTypes } from '../pipeline/node-type-sync.js';
7
8
  const BINDINGS_FILE = 'project-conventions.json';
8
9
  function escapeRegex(str) {
9
10
  return str.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
@@ -12,6 +13,14 @@ export class ConventionManager {
12
13
  loader;
13
14
  claudeMdWriter;
14
15
  writerPromise = null;
16
+ /** 可选的 storage 注入,用于节点类型持久化 */
17
+ static storage = null;
18
+ /** 节点类型注册缓存:projectPath → 绑定 ID 列表的哈希 */
19
+ nodeTypeRegistryCache = new Map();
20
+ /** 注入 storage(daemon 启动时调用一次) */
21
+ static setStorage(storage) {
22
+ ConventionManager.storage = storage;
23
+ }
15
24
  constructor(loader, claudeMdWriter) {
16
25
  this.loader = loader ?? new ConventionLoader();
17
26
  if (claudeMdWriter) {
@@ -62,6 +71,8 @@ export class ConventionManager {
62
71
  this.writeBindings(projectPath, bindings);
63
72
  this.injectIntoClaudeMd(projectPath, convention);
64
73
  logger.info(`[规范管理器] 已绑定 ${conventionId} 到 ${projectPath}`);
74
+ // 清除节点类型注册缓存,下次 getActiveConventions 时重新注册
75
+ this.nodeTypeRegistryCache.delete(projectPath);
65
76
  return convention;
66
77
  }
67
78
  /**
@@ -83,6 +94,8 @@ export class ConventionManager {
83
94
  this.writeBindings(projectPath, []);
84
95
  logger.info(`[规范管理器] 已解绑全部规范 from ${projectPath}`);
85
96
  }
97
+ // 清除节点类型注册缓存
98
+ this.nodeTypeRegistryCache.delete(projectPath);
86
99
  }
87
100
  /** 获取项目绑定的所有 Convention(已加载完整对象)。custom- 前缀的 ID 从项目本地加载 */
88
101
  getActiveConventions(projectPath) {
@@ -100,23 +113,41 @@ export class ConventionManager {
100
113
  logger.warn(`[规范管理器] 绑定的 Convention "${binding.convention_id}" 文件不存在,跳过`);
101
114
  }
102
115
  }
103
- // 注册所有 Convention 的节点类型到 NodeTypeRegistry
104
- this.registerNodeTypes(result);
116
+ // 注册所有 Convention 的节点类型到 NodeTypeRegistry(带缓存)
117
+ this.registerNodeTypes(projectPath, result);
105
118
  return result;
106
119
  }
107
120
  /**
108
121
  * 将 Convention 的 node_types 注册到 NodeTypeRegistry
109
- * 每次 getActiveConventions 时调用,确保节点类型始终同步
122
+ * 使用缓存机制,只有绑定变化时才重新注册
110
123
  */
111
- registerNodeTypes(conventions) {
124
+ registerNodeTypes(projectPath, conventions) {
125
+ // 计算绑定哈希(Convention ID + version)
126
+ const bindingHash = conventions
127
+ .map(c => `${c.id}:${c.version}`)
128
+ .sort()
129
+ .join('|');
130
+ // 检查缓存,如果哈希未变化则跳过
131
+ const cached = this.nodeTypeRegistryCache.get(projectPath);
132
+ if (cached === bindingHash) {
133
+ return; // 绑定未变化,跳过注册
134
+ }
135
+ // 绑定变化,重新注册
112
136
  const registry = NodeTypeRegistry.getInstance();
113
- registry.clearExternal(); // 清空外部节点类型,重新注册
137
+ registry.clearExternal(); // 清空外部节点类型
114
138
  for (const convention of conventions) {
115
139
  if (convention.node_types && convention.node_types.length > 0) {
116
140
  registry.registerFromConvention(convention);
117
141
  logger.info(`[规范管理器] 已注册 ${convention.node_types.length} 个节点类型 from ${convention.id}`);
118
142
  }
119
143
  }
144
+ // 同步到数据库(如果 storage 已注入)
145
+ if (ConventionManager.storage) {
146
+ syncConventionNodeTypes(ConventionManager.storage, conventions);
147
+ }
148
+ // 更新缓存
149
+ this.nodeTypeRegistryCache.set(projectPath, bindingHash);
150
+ logger.debug(`[规范管理器] 节点类型注册缓存已更新:${projectPath}`);
120
151
  }
121
152
  /** 加载项目本地的自定义蒸馏规范(若存在) */
122
153
  loadProjectCustomConvention(projectPath) {
@@ -149,6 +180,8 @@ export class ConventionManager {
149
180
  this.writeBindings(projectPath, filtered);
150
181
  this.injectIntoClaudeMd(projectPath, convention);
151
182
  logger.info(`[规范管理器] 已绑定自定义规范 ${convention.id} 到 ${projectPath},源规范已解绑`);
183
+ // 清除节点类型注册缓存
184
+ this.nodeTypeRegistryCache.delete(projectPath);
152
185
  }
153
186
  /**
154
187
  * 返回所有绑定规范的 active_prompt 拼接(供每条消息注入,priority=0)
@@ -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":"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"}
@@ -100,6 +100,61 @@ export interface ConventionDistillResult {
100
100
  sourcesUsed: string[];
101
101
  changes: string[];
102
102
  }
103
+ /** 产物类型 */
104
+ export type ArtifactType = 'document' | 'code' | 'test' | 'config' | 'diagram' | 'data' | 'other';
105
+ /** 产物约束规格 */
106
+ export interface ArtifactConstraint {
107
+ /** 产物类型 */
108
+ type: ArtifactType;
109
+ /** 产物描述 */
110
+ description: string;
111
+ /** 文件路径模式(glob 或正则) */
112
+ path_pattern?: string;
113
+ /** 是否必需(默认 true) */
114
+ required?: boolean;
115
+ /** 最小数量(默认 1) */
116
+ min_count?: number;
117
+ /** 最大数量(默认不限) */
118
+ max_count?: number;
119
+ /** 内容约束(关键词、结构) */
120
+ content_constraints?: {
121
+ /** 必须包含的关键词 */
122
+ required_keywords?: string[];
123
+ /** 最小字符数 */
124
+ min_length?: number;
125
+ };
126
+ }
127
+ /** 实际产物记录 */
128
+ export interface Artifact {
129
+ /** 产物类型 */
130
+ type: ArtifactType;
131
+ /** 文件路径 */
132
+ path: string;
133
+ /** 产物描述 */
134
+ description?: string;
135
+ /** 创建时间 */
136
+ created_at: string;
137
+ /** 文件大小(字节) */
138
+ size_bytes?: number;
139
+ /** 内容摘要(前 200 字符) */
140
+ content_preview?: string;
141
+ }
142
+ /** 节点产物输出(结构化) */
143
+ export interface NodeOutput {
144
+ /** 产物列表 */
145
+ artifacts: Artifact[];
146
+ /** 产物验证结果 */
147
+ validation: {
148
+ /** 是否通过验证 */
149
+ passed: boolean;
150
+ /** 缺失的必需产物 */
151
+ missing_required?: string[];
152
+ /** 验证错误信息 */
153
+ errors?: string[];
154
+ };
155
+ /** 节点执行摘要 */
156
+ summary?: string;
157
+ }
103
158
  /** 节点完成规格 */
104
159
  export interface NodeCompletionSpec {
105
160
  /** 显式信号(最高优先级):Claude 输出此字符串时立即完成节点 */
@@ -150,5 +205,7 @@ export interface ConventionNodeType {
150
205
  default_skills?: string[];
151
206
  /** 节点执行时注入的额外提示(可选) */
152
207
  instruction_suffix?: string;
208
+ /** 预期产物约束(可选):定义节点完成时应产出的产物 */
209
+ expected_artifacts?: ArtifactConstraint[];
153
210
  }
154
211
  //# sourceMappingURL=types.d.ts.map
@@ -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":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/daemon/index.ts"],"names":[],"mappings":"AAuCA,wBAAsB,WAAW,CAAC,UAAU,GAAE,OAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CA2d5E"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/daemon/index.ts"],"names":[],"mappings":"AAyCA,wBAAsB,WAAW,CAAC,UAAU,GAAE,OAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAie5E"}
@@ -22,6 +22,8 @@ import { diagnoseForgeHookEnvironment, repairForgeHookEnvironment } from '../cli
22
22
  import { copyHookScripts } from '../cli/commands/init/hook-manager.js';
23
23
  import { WebServer } from '../web/server.js';
24
24
  import { TIME } from '../constants.js';
25
+ import { restoreNodeTypesFromDatabase } from '../pipeline/node-type-sync.js';
26
+ import { ConventionManager } from '../convention/convention-manager.js';
25
27
  const FORGE_HOME = path.join(os.homedir(), '.claude-forge');
26
28
  export async function startDaemon(foreground = false) {
27
29
  // ── Bootstrap ──────────────────────────────────────────────────────────────
@@ -62,6 +64,10 @@ export async function startDaemon(foreground = false) {
62
64
  const dbPath = expandPath(config.storage.path);
63
65
  const storage = new SQLiteStorage(dbPath);
64
66
  logger.info(`存储已初始化:${dbPath}`);
67
+ // 从数据库恢复节点类型到内存注册表(解决重启丢失问题)
68
+ restoreNodeTypesFromDatabase(storage);
69
+ // 注入 storage 到 ConventionManager,用于节点类型持久化
70
+ ConventionManager.setStorage(storage);
65
71
  // 启动时执行一次维护(清理过期数据)
66
72
  storage.runMaintenance(config.storage.max_size_mb);
67
73
  // 每日凌晨 3 点定期维护
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/daemon/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/daemon/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,31 @@
1
+ /**
2
+ * ArtifactCollector — 产物收集器
3
+ *
4
+ * 负责在节点执行过程中追踪和收集产物(Write/Edit 工具调用)
5
+ */
6
+ import type { ForgeEvent } from '../types/index.js';
7
+ import type { Artifact } from '../convention/types.js';
8
+ export declare class ArtifactCollector {
9
+ private artifacts;
10
+ /**
11
+ * 追踪工具调用,收集产物
12
+ */
13
+ track(nodeKey: string, event: ForgeEvent): void;
14
+ /**
15
+ * 获取节点的产物列表
16
+ */
17
+ getArtifacts(nodeKey: string): Artifact[];
18
+ /**
19
+ * 清除节点的产物记录
20
+ */
21
+ clear(nodeKey: string): void;
22
+ /**
23
+ * 清除所有产物记录
24
+ */
25
+ clearAll(): void;
26
+ /**
27
+ * 推断产物类型(基于文件扩展名和路径)
28
+ */
29
+ private inferArtifactType;
30
+ }
31
+ //# sourceMappingURL=artifact-collector.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"artifact-collector.d.ts","sourceRoot":"","sources":["../../src/pipeline/artifact-collector.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,KAAK,EAAE,QAAQ,EAAgB,MAAM,wBAAwB,CAAC;AAKrE,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,SAAS,CAAsC;IAEvD;;OAEG;IACH,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,GAAG,IAAI;IA6C/C;;OAEG;IACH,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,QAAQ,EAAE;IAIzC;;OAEG;IACH,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAI5B;;OAEG;IACH,QAAQ,IAAI,IAAI;IAIhB;;OAEG;IACH,OAAO,CAAC,iBAAiB;CAoC1B"}
@@ -0,0 +1,105 @@
1
+ /**
2
+ * ArtifactCollector — 产物收集器
3
+ *
4
+ * 负责在节点执行过程中追踪和收集产物(Write/Edit 工具调用)
5
+ */
6
+ import { logger } from '../utils/logger.js';
7
+ import fs from 'fs';
8
+ import path from 'path';
9
+ export class ArtifactCollector {
10
+ artifacts = new Map();
11
+ /**
12
+ * 追踪工具调用,收集产物
13
+ */
14
+ track(nodeKey, event) {
15
+ // 只追踪 Write/Edit 工具调用
16
+ if (event.tool_name !== 'Write' && event.tool_name !== 'Edit') {
17
+ return;
18
+ }
19
+ const filePath = event.tool_input?.file_path;
20
+ if (!filePath || typeof filePath !== 'string') {
21
+ return;
22
+ }
23
+ // 推断产物类型
24
+ const artifactType = this.inferArtifactType(filePath);
25
+ // 读取文件内容摘要(前 200 字符)
26
+ let contentPreview;
27
+ let sizeBytes;
28
+ try {
29
+ if (fs.existsSync(filePath)) {
30
+ const content = fs.readFileSync(filePath, 'utf-8');
31
+ contentPreview = content.slice(0, 200);
32
+ sizeBytes = Buffer.byteLength(content, 'utf-8');
33
+ }
34
+ }
35
+ catch (err) {
36
+ logger.debug(`[ArtifactCollector] 无法读取文件内容:${filePath}`);
37
+ }
38
+ const artifact = {
39
+ type: artifactType,
40
+ path: filePath,
41
+ created_at: new Date().toISOString(),
42
+ size_bytes: sizeBytes,
43
+ content_preview: contentPreview,
44
+ };
45
+ // 添加到产物列表(去重)
46
+ const existing = this.artifacts.get(nodeKey) || [];
47
+ const isDuplicate = existing.some(a => a.path === filePath);
48
+ if (!isDuplicate) {
49
+ existing.push(artifact);
50
+ this.artifacts.set(nodeKey, existing);
51
+ logger.debug(`[ArtifactCollector] 收集产物:${filePath} (${artifactType})`);
52
+ }
53
+ }
54
+ /**
55
+ * 获取节点的产物列表
56
+ */
57
+ getArtifacts(nodeKey) {
58
+ return this.artifacts.get(nodeKey) || [];
59
+ }
60
+ /**
61
+ * 清除节点的产物记录
62
+ */
63
+ clear(nodeKey) {
64
+ this.artifacts.delete(nodeKey);
65
+ }
66
+ /**
67
+ * 清除所有产物记录
68
+ */
69
+ clearAll() {
70
+ this.artifacts.clear();
71
+ }
72
+ /**
73
+ * 推断产物类型(基于文件扩展名和路径)
74
+ */
75
+ inferArtifactType(filePath) {
76
+ const ext = path.extname(filePath).toLowerCase();
77
+ const basename = path.basename(filePath).toLowerCase();
78
+ // 测试文件
79
+ if (basename.includes('.test.') || basename.includes('.spec.')) {
80
+ return 'test';
81
+ }
82
+ // 配置文件
83
+ if (['.json', '.yaml', '.yml', '.toml', '.ini', '.env'].includes(ext)) {
84
+ return 'config';
85
+ }
86
+ // 代码文件
87
+ if (['.ts', '.js', '.tsx', '.jsx', '.py', '.go', '.rs', '.java', '.c', '.cpp', '.h'].includes(ext)) {
88
+ return 'code';
89
+ }
90
+ // 文档文件
91
+ if (['.md', '.txt', '.doc', '.docx', '.pdf'].includes(ext)) {
92
+ return 'document';
93
+ }
94
+ // 图表文件
95
+ if (['.png', '.jpg', '.jpeg', '.svg', '.mmd', '.drawio'].includes(ext)) {
96
+ return 'diagram';
97
+ }
98
+ // 数据文件
99
+ if (['.csv', '.xml', '.sql'].includes(ext)) {
100
+ return 'data';
101
+ }
102
+ return 'other';
103
+ }
104
+ }
105
+ //# sourceMappingURL=artifact-collector.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"artifact-collector.js","sourceRoot":"","sources":["../../src/pipeline/artifact-collector.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,26 @@
1
+ /**
2
+ * ArtifactValidator — 产物验证器
3
+ *
4
+ * 负责验证节点产物是否满足约束条件
5
+ */
6
+ import type { Artifact, ArtifactConstraint, NodeOutput } from '../convention/types.js';
7
+ export declare class ArtifactValidator {
8
+ /**
9
+ * 验证产物是否满足约束
10
+ */
11
+ validate(artifacts: Artifact[], constraints?: ArtifactConstraint[]): NodeOutput['validation'];
12
+ /**
13
+ * 筛选匹配约束的产物
14
+ */
15
+ private filterMatchingArtifacts;
16
+ /**
17
+ * 验证产物内容
18
+ */
19
+ private validateContent;
20
+ /**
21
+ * 将 glob 模式转换为正则表达式
22
+ * 支持 * 和 ** 通配符
23
+ */
24
+ private globToRegex;
25
+ }
26
+ //# sourceMappingURL=artifact-validator.d.ts.map
@@ -0,0 +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;;OAEG;IACH,QAAQ,CACN,SAAS,EAAE,QAAQ,EAAE,EACrB,WAAW,CAAC,EAAE,kBAAkB,EAAE,GACjC,UAAU,CAAC,YAAY,CAAC;IAoD3B;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAsB/B;;OAEG;IACH,OAAO,CAAC,eAAe;IA0BvB;;;OAGG;IACH,OAAO,CAAC,WAAW;CAWpB"}