@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.
- package/README.md +4 -4
- package/dist/convention/convention-manager.d.ts +8 -1
- package/dist/convention/convention-manager.d.ts.map +1 -1
- package/dist/convention/convention-manager.js +38 -5
- package/dist/convention/convention-manager.js.map +1 -1
- package/dist/convention/types.d.ts +57 -0
- package/dist/convention/types.d.ts.map +1 -1
- package/dist/daemon/index.d.ts.map +1 -1
- package/dist/daemon/index.js +6 -0
- package/dist/daemon/index.js.map +1 -1
- package/dist/pipeline/artifact-collector.d.ts +31 -0
- package/dist/pipeline/artifact-collector.d.ts.map +1 -0
- package/dist/pipeline/artifact-collector.js +105 -0
- package/dist/pipeline/artifact-collector.js.map +1 -0
- package/dist/pipeline/artifact-validator.d.ts +26 -0
- package/dist/pipeline/artifact-validator.d.ts.map +1 -0
- package/dist/pipeline/artifact-validator.js +108 -0
- package/dist/pipeline/artifact-validator.js.map +1 -0
- package/dist/pipeline/dynamic-node-executor.d.ts +2 -0
- package/dist/pipeline/dynamic-node-executor.d.ts.map +1 -1
- package/dist/pipeline/dynamic-node-executor.js +35 -3
- package/dist/pipeline/dynamic-node-executor.js.map +1 -1
- package/dist/pipeline/i-node-executor.d.ts +2 -0
- package/dist/pipeline/i-node-executor.d.ts.map +1 -1
- package/dist/pipeline/index.d.ts.map +1 -1
- package/dist/pipeline/index.js +3 -2
- 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 +53 -1
- package/dist/pipeline/node-type-registry.js.map +1 -1
- package/dist/pipeline/node-type-sync.d.ts +17 -0
- package/dist/pipeline/node-type-sync.d.ts.map +1 -0
- package/dist/pipeline/node-type-sync.js +147 -0
- package/dist/pipeline/node-type-sync.js.map +1 -0
- package/dist/pipeline/template-registry.d.ts +1 -1
- package/dist/pipeline/template-registry.d.ts.map +1 -1
- package/dist/pipeline/template-registry.js +54 -3
- package/dist/pipeline/template-registry.js.map +1 -1
- package/dist/storage/repositories/node-type-repository.d.ts +52 -0
- package/dist/storage/repositories/node-type-repository.d.ts.map +1 -0
- package/dist/storage/repositories/node-type-repository.js +130 -0
- package/dist/storage/repositories/node-type-repository.js.map +1 -0
- package/dist/storage/sqlite.d.ts +2 -0
- package/dist/storage/sqlite.d.ts.map +1 -1
- package/dist/storage/sqlite.js +26 -1
- package/dist/storage/sqlite.js.map +1 -1
- package/dist/web-static/assets/index-80GT9jgH.js +76 -0
- package/dist/web-static/assets/{index-Bv6kBfyq.css → index-CqOaxWJz.css} +1 -1
- package/dist/web-static/index.html +2 -2
- package/package.json +1 -1
- 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
|
|
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
|
|
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
|
|
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
|
|
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
|
-
*
|
|
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;
|
|
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
|
-
*
|
|
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":"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;
|
|
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":"
|
|
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"}
|
package/dist/daemon/index.js
CHANGED
|
@@ -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 点定期维护
|
package/dist/daemon/index.js.map
CHANGED
|
@@ -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"}
|