@dommaker/harness 0.1.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 +188 -0
- package/bin/harness.js +104 -0
- package/dist/cli/commands/check.d.ts +25 -0
- package/dist/cli/commands/check.d.ts.map +1 -0
- package/dist/cli/commands/check.js +166 -0
- package/dist/cli/commands/check.js.map +1 -0
- package/dist/cli/commands/index.d.ts +9 -0
- package/dist/cli/commands/index.d.ts.map +1 -0
- package/dist/cli/commands/index.js +20 -0
- package/dist/cli/commands/index.js.map +1 -0
- package/dist/cli/commands/init.d.ts +22 -0
- package/dist/cli/commands/init.d.ts.map +1 -0
- package/dist/cli/commands/init.js +244 -0
- package/dist/cli/commands/init.js.map +1 -0
- package/dist/cli/commands/passes-gate.d.ts +24 -0
- package/dist/cli/commands/passes-gate.d.ts.map +1 -0
- package/dist/cli/commands/passes-gate.js +171 -0
- package/dist/cli/commands/passes-gate.js.map +1 -0
- package/dist/cli/commands/report.d.ts +18 -0
- package/dist/cli/commands/report.d.ts.map +1 -0
- package/dist/cli/commands/report.js +205 -0
- package/dist/cli/commands/report.js.map +1 -0
- package/dist/cli/commands/validate.d.ts +22 -0
- package/dist/cli/commands/validate.d.ts.map +1 -0
- package/dist/cli/commands/validate.js +175 -0
- package/dist/cli/commands/validate.js.map +1 -0
- package/dist/core/index.d.ts +7 -0
- package/dist/core/index.d.ts.map +1 -0
- package/dist/core/index.js +23 -0
- package/dist/core/index.js.map +1 -0
- package/dist/core/iron-laws/checker.d.ts +61 -0
- package/dist/core/iron-laws/checker.d.ts.map +1 -0
- package/dist/core/iron-laws/checker.js +175 -0
- package/dist/core/iron-laws/checker.js.map +1 -0
- package/dist/core/iron-laws/definitions.d.ts +28 -0
- package/dist/core/iron-laws/definitions.d.ts.map +1 -0
- package/dist/core/iron-laws/definitions.js +180 -0
- package/dist/core/iron-laws/definitions.js.map +1 -0
- package/dist/core/iron-laws/index.d.ts +6 -0
- package/dist/core/iron-laws/index.d.ts.map +1 -0
- package/dist/core/iron-laws/index.js +22 -0
- package/dist/core/iron-laws/index.js.map +1 -0
- package/dist/core/session/clean-state.d.ts +17 -0
- package/dist/core/session/clean-state.d.ts.map +1 -0
- package/dist/core/session/clean-state.js +190 -0
- package/dist/core/session/clean-state.js.map +1 -0
- package/dist/core/session/index.d.ts +6 -0
- package/dist/core/session/index.d.ts.map +1 -0
- package/dist/core/session/index.js +15 -0
- package/dist/core/session/index.js.map +1 -0
- package/dist/core/session/startup.d.ts +47 -0
- package/dist/core/session/startup.d.ts.map +1 -0
- package/dist/core/session/startup.js +266 -0
- package/dist/core/session/startup.js.map +1 -0
- package/dist/core/validators/checkpoint.d.ts +88 -0
- package/dist/core/validators/checkpoint.d.ts.map +1 -0
- package/dist/core/validators/checkpoint.js +451 -0
- package/dist/core/validators/checkpoint.js.map +1 -0
- package/dist/core/validators/cso.d.ts +47 -0
- package/dist/core/validators/cso.d.ts.map +1 -0
- package/dist/core/validators/cso.js +88 -0
- package/dist/core/validators/cso.js.map +1 -0
- package/dist/core/validators/index.d.ts +9 -0
- package/dist/core/validators/index.d.ts.map +1 -0
- package/dist/core/validators/index.js +13 -0
- package/dist/core/validators/index.js.map +1 -0
- package/dist/core/validators/passes-gate.d.ts +76 -0
- package/dist/core/validators/passes-gate.d.ts.map +1 -0
- package/dist/core/validators/passes-gate.js +418 -0
- package/dist/core/validators/passes-gate.js.map +1 -0
- package/dist/index.d.ts +18 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +52 -0
- package/dist/index.js.map +1 -0
- package/dist/presets/index.d.ts +14 -0
- package/dist/presets/index.d.ts.map +1 -0
- package/dist/presets/index.js +25 -0
- package/dist/presets/index.js.map +1 -0
- package/dist/presets/relaxed.d.ts +8 -0
- package/dist/presets/relaxed.d.ts.map +1 -0
- package/dist/presets/relaxed.js +24 -0
- package/dist/presets/relaxed.js.map +1 -0
- package/dist/presets/standard.d.ts +8 -0
- package/dist/presets/standard.d.ts.map +1 -0
- package/dist/presets/standard.js +51 -0
- package/dist/presets/standard.js.map +1 -0
- package/dist/presets/strict.d.ts +8 -0
- package/dist/presets/strict.d.ts.map +1 -0
- package/dist/presets/strict.js +51 -0
- package/dist/presets/strict.js.map +1 -0
- package/dist/types/checkpoint.d.ts +120 -0
- package/dist/types/checkpoint.d.ts.map +1 -0
- package/dist/types/checkpoint.js +6 -0
- package/dist/types/checkpoint.js.map +1 -0
- package/dist/types/cso.d.ts +35 -0
- package/dist/types/cso.d.ts.map +1 -0
- package/dist/types/cso.js +6 -0
- package/dist/types/cso.js.map +1 -0
- package/dist/types/index.d.ts +10 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +24 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types/iron-law.d.ts +113 -0
- package/dist/types/iron-law.d.ts.map +1 -0
- package/dist/types/iron-law.js +21 -0
- package/dist/types/iron-law.js.map +1 -0
- package/dist/types/passes-gate.d.ts +72 -0
- package/dist/types/passes-gate.d.ts.map +1 -0
- package/dist/types/passes-gate.js +6 -0
- package/dist/types/passes-gate.js.map +1 -0
- package/dist/types/session.d.ts +105 -0
- package/dist/types/session.d.ts.map +1 -0
- package/dist/types/session.js +6 -0
- package/dist/types/session.js.map +1 -0
- package/package.json +74 -0
- package/templates/nextjs-app/.github/workflows/ci.yml +39 -0
- package/templates/node-api/.github/workflows/ci.yml +36 -0
- package/templates/node-api/package.json +23 -0
- package/templates/node-api/src/index.ts +2 -0
- package/templates/node-api/tsconfig.json +19 -0
- package/templates/python-api/.github/workflows/ci.yml +39 -0
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* 宽松预设
|
|
4
|
+
*
|
|
5
|
+
* 只保留最核心的铁律,warning 可跳过
|
|
6
|
+
*/
|
|
7
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
+
exports.RELAXED_PRESET = void 0;
|
|
9
|
+
exports.RELAXED_PRESET = {
|
|
10
|
+
preset: 'relaxed',
|
|
11
|
+
enabled: true,
|
|
12
|
+
ironLaws: [
|
|
13
|
+
{
|
|
14
|
+
id: 'no_fix_without_root_cause',
|
|
15
|
+
rule: 'NO FIXES WITHOUT ROOT CAUSE INVESTIGATION FIRST',
|
|
16
|
+
message: '在修复问题之前,必须先进行根本原因调查',
|
|
17
|
+
trigger: 'bug_fix_attempt',
|
|
18
|
+
enforcement: 'debug-systematic',
|
|
19
|
+
severity: 'warning',
|
|
20
|
+
enabled: true,
|
|
21
|
+
},
|
|
22
|
+
],
|
|
23
|
+
};
|
|
24
|
+
//# sourceMappingURL=relaxed.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"relaxed.js","sourceRoot":"","sources":["../../src/presets/relaxed.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAIU,QAAA,cAAc,GAAkB;IAC3C,MAAM,EAAE,SAAS;IACjB,OAAO,EAAE,IAAI;IACb,QAAQ,EAAE;QACR;YACE,EAAE,EAAE,2BAA2B;YAC/B,IAAI,EAAE,iDAAiD;YACvD,OAAO,EAAE,qBAAqB;YAC9B,OAAO,EAAE,iBAAiB;YAC1B,WAAW,EAAE,kBAAkB;YAC/B,QAAQ,EAAE,SAAS;YACnB,OAAO,EAAE,IAAI;SACd;KACF;CACF,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"standard.d.ts","sourceRoot":"","sources":["../../src/presets/standard.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAW,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAEhE,eAAO,MAAM,eAAe,EAAE,aAyC7B,CAAC"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* 标准预设
|
|
4
|
+
*
|
|
5
|
+
* 核心 error 级别铁律启用,warning 可跳过
|
|
6
|
+
*/
|
|
7
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
+
exports.STANDARD_PRESET = void 0;
|
|
9
|
+
exports.STANDARD_PRESET = {
|
|
10
|
+
preset: 'standard',
|
|
11
|
+
enabled: true,
|
|
12
|
+
ironLaws: [
|
|
13
|
+
{
|
|
14
|
+
id: 'no_fix_without_root_cause',
|
|
15
|
+
rule: 'NO FIXES WITHOUT ROOT CAUSE INVESTIGATION FIRST',
|
|
16
|
+
message: '在修复问题之前,必须先进行根本原因调查',
|
|
17
|
+
trigger: 'bug_fix_attempt',
|
|
18
|
+
enforcement: 'debug-systematic',
|
|
19
|
+
severity: 'error',
|
|
20
|
+
enabled: true,
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
id: 'no_completion_without_verification',
|
|
24
|
+
rule: 'NO COMPLETION CLAIMS WITHOUT FRESH VERIFICATION EVIDENCE',
|
|
25
|
+
message: '在声明任务完成之前,必须运行验证命令',
|
|
26
|
+
trigger: 'task_completion_claim',
|
|
27
|
+
enforcement: 'verify-completion',
|
|
28
|
+
severity: 'error',
|
|
29
|
+
enabled: true,
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
id: 'capability_sync',
|
|
33
|
+
rule: 'CODE CHANGES MUST UPDATE CAPABILITIES.MD',
|
|
34
|
+
message: '核心模块变更后必须同步更新功能清单',
|
|
35
|
+
trigger: 'module_modification',
|
|
36
|
+
enforcement: 'update-capabilities',
|
|
37
|
+
severity: 'warning',
|
|
38
|
+
enabled: true,
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
id: 'readme_required',
|
|
42
|
+
rule: 'NEW MODULES MUST HAVE README',
|
|
43
|
+
message: '新模块必须创建 README 文档',
|
|
44
|
+
trigger: 'module_creation',
|
|
45
|
+
enforcement: 'create-readme',
|
|
46
|
+
severity: 'info',
|
|
47
|
+
enabled: true,
|
|
48
|
+
},
|
|
49
|
+
],
|
|
50
|
+
};
|
|
51
|
+
//# sourceMappingURL=standard.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"standard.js","sourceRoot":"","sources":["../../src/presets/standard.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAIU,QAAA,eAAe,GAAkB;IAC5C,MAAM,EAAE,UAAU;IAClB,OAAO,EAAE,IAAI;IACb,QAAQ,EAAE;QACR;YACE,EAAE,EAAE,2BAA2B;YAC/B,IAAI,EAAE,iDAAiD;YACvD,OAAO,EAAE,qBAAqB;YAC9B,OAAO,EAAE,iBAAiB;YAC1B,WAAW,EAAE,kBAAkB;YAC/B,QAAQ,EAAE,OAAO;YACjB,OAAO,EAAE,IAAI;SACd;QACD;YACE,EAAE,EAAE,oCAAoC;YACxC,IAAI,EAAE,0DAA0D;YAChE,OAAO,EAAE,oBAAoB;YAC7B,OAAO,EAAE,uBAAuB;YAChC,WAAW,EAAE,mBAAmB;YAChC,QAAQ,EAAE,OAAO;YACjB,OAAO,EAAE,IAAI;SACd;QACD;YACE,EAAE,EAAE,iBAAiB;YACrB,IAAI,EAAE,0CAA0C;YAChD,OAAO,EAAE,mBAAmB;YAC5B,OAAO,EAAE,qBAAqB;YAC9B,WAAW,EAAE,qBAAqB;YAClC,QAAQ,EAAE,SAAS;YACnB,OAAO,EAAE,IAAI;SACd;QACD;YACE,EAAE,EAAE,iBAAiB;YACrB,IAAI,EAAE,8BAA8B;YACpC,OAAO,EAAE,mBAAmB;YAC5B,OAAO,EAAE,iBAAiB;YAC1B,WAAW,EAAE,eAAe;YAC5B,QAAQ,EAAE,MAAM;YAChB,OAAO,EAAE,IAAI;SACd;KACF;CACF,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"strict.d.ts","sourceRoot":"","sources":["../../src/presets/strict.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAW,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAEhE,eAAO,MAAM,aAAa,EAAE,aAyC3B,CAAC"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* 严格预设
|
|
4
|
+
*
|
|
5
|
+
* 所有铁律都启用,error 级别不可跳过
|
|
6
|
+
*/
|
|
7
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
+
exports.STRICT_PRESET = void 0;
|
|
9
|
+
exports.STRICT_PRESET = {
|
|
10
|
+
preset: 'strict',
|
|
11
|
+
enabled: true,
|
|
12
|
+
ironLaws: [
|
|
13
|
+
{
|
|
14
|
+
id: 'no_fix_without_root_cause',
|
|
15
|
+
rule: 'NO FIXES WITHOUT ROOT CAUSE INVESTIGATION FIRST',
|
|
16
|
+
message: '在修复问题之前,必须先进行根本原因调查',
|
|
17
|
+
trigger: 'bug_fix_attempt',
|
|
18
|
+
enforcement: 'debug-systematic',
|
|
19
|
+
severity: 'error',
|
|
20
|
+
enabled: true,
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
id: 'no_completion_without_verification',
|
|
24
|
+
rule: 'NO COMPLETION CLAIMS WITHOUT FRESH VERIFICATION EVIDENCE',
|
|
25
|
+
message: '在声明任务完成之前,必须运行验证命令',
|
|
26
|
+
trigger: 'task_completion_claim',
|
|
27
|
+
enforcement: 'verify-completion',
|
|
28
|
+
severity: 'error',
|
|
29
|
+
enabled: true,
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
id: 'no_code_without_test',
|
|
33
|
+
rule: 'NO PRODUCTION CODE WITHOUT A FAILING TEST FIRST',
|
|
34
|
+
message: '在编写实现代码之前,必须先写失败的测试',
|
|
35
|
+
trigger: 'code_implementation',
|
|
36
|
+
enforcement: 'tdd-cycle',
|
|
37
|
+
severity: 'error',
|
|
38
|
+
enabled: true,
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
id: 'capability_sync',
|
|
42
|
+
rule: 'CODE CHANGES MUST UPDATE CAPABILITIES.MD',
|
|
43
|
+
message: '核心模块变更后必须同步更新功能清单',
|
|
44
|
+
trigger: 'module_modification',
|
|
45
|
+
enforcement: 'update-capabilities',
|
|
46
|
+
severity: 'error',
|
|
47
|
+
enabled: true,
|
|
48
|
+
},
|
|
49
|
+
],
|
|
50
|
+
};
|
|
51
|
+
//# sourceMappingURL=strict.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"strict.js","sourceRoot":"","sources":["../../src/presets/strict.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAIU,QAAA,aAAa,GAAkB;IAC1C,MAAM,EAAE,QAAQ;IAChB,OAAO,EAAE,IAAI;IACb,QAAQ,EAAE;QACR;YACE,EAAE,EAAE,2BAA2B;YAC/B,IAAI,EAAE,iDAAiD;YACvD,OAAO,EAAE,qBAAqB;YAC9B,OAAO,EAAE,iBAAiB;YAC1B,WAAW,EAAE,kBAAkB;YAC/B,QAAQ,EAAE,OAAO;YACjB,OAAO,EAAE,IAAI;SACd;QACD;YACE,EAAE,EAAE,oCAAoC;YACxC,IAAI,EAAE,0DAA0D;YAChE,OAAO,EAAE,oBAAoB;YAC7B,OAAO,EAAE,uBAAuB;YAChC,WAAW,EAAE,mBAAmB;YAChC,QAAQ,EAAE,OAAO;YACjB,OAAO,EAAE,IAAI;SACd;QACD;YACE,EAAE,EAAE,sBAAsB;YAC1B,IAAI,EAAE,iDAAiD;YACvD,OAAO,EAAE,qBAAqB;YAC9B,OAAO,EAAE,qBAAqB;YAC9B,WAAW,EAAE,WAAW;YACxB,QAAQ,EAAE,OAAO;YACjB,OAAO,EAAE,IAAI;SACd;QACD;YACE,EAAE,EAAE,iBAAiB;YACrB,IAAI,EAAE,0CAA0C;YAChD,OAAO,EAAE,mBAAmB;YAC5B,OAAO,EAAE,qBAAqB;YAC9B,WAAW,EAAE,qBAAqB;YAClC,QAAQ,EAAE,OAAO;YACjB,OAAO,EAAE,IAAI;SACd;KACF;CACF,CAAC"}
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 检查点类型定义
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* 检查类型
|
|
6
|
+
*/
|
|
7
|
+
export type CheckType = 'file_exists' | 'file_not_empty' | 'file_contains' | 'file_not_contains' | 'command_success' | 'command_output' | 'output_contains' | 'output_not_contains' | 'output_matches' | 'json_path' | 'http_status' | 'http_body' | 'custom';
|
|
8
|
+
/**
|
|
9
|
+
* 检查配置
|
|
10
|
+
*/
|
|
11
|
+
export interface CheckConfig {
|
|
12
|
+
/** 文件路径(用于文件检查) */
|
|
13
|
+
path?: string;
|
|
14
|
+
/** 预期值(用于 contains 检查) */
|
|
15
|
+
expected?: string | number | boolean | object;
|
|
16
|
+
/** 内容(用于 file_contains 检查) */
|
|
17
|
+
content?: string;
|
|
18
|
+
/** 正则表达式(用于 matches 检查) */
|
|
19
|
+
pattern?: string;
|
|
20
|
+
/** JSON 路径(用于 json_path 检查) */
|
|
21
|
+
jsonPath?: string;
|
|
22
|
+
/** HTTP URL(用于 http 检查) */
|
|
23
|
+
url?: string;
|
|
24
|
+
/** HTTP 方法 */
|
|
25
|
+
method?: 'GET' | 'POST' | 'PUT' | 'DELETE';
|
|
26
|
+
/** HTTP 请求体 */
|
|
27
|
+
body?: any;
|
|
28
|
+
/** HTTP 请求头 */
|
|
29
|
+
headers?: Record<string, string>;
|
|
30
|
+
/** 预期 HTTP 状态码 */
|
|
31
|
+
expectedStatus?: number;
|
|
32
|
+
/** 命令(用于 command 检查) */
|
|
33
|
+
command?: string;
|
|
34
|
+
/** 工作目录 */
|
|
35
|
+
workdir?: string;
|
|
36
|
+
/** 环境变量 */
|
|
37
|
+
env?: Record<string, string>;
|
|
38
|
+
/** 超时时间(毫秒) */
|
|
39
|
+
timeout?: number;
|
|
40
|
+
/** 自定义检查函数名 */
|
|
41
|
+
customFunction?: string;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* 检查项定义
|
|
45
|
+
*/
|
|
46
|
+
export interface CheckpointCheck {
|
|
47
|
+
/** 检查 ID */
|
|
48
|
+
id: string;
|
|
49
|
+
/** 检查类型 */
|
|
50
|
+
type: CheckType;
|
|
51
|
+
/** 检查配置 */
|
|
52
|
+
config: CheckConfig;
|
|
53
|
+
/** 错误消息 */
|
|
54
|
+
message?: string;
|
|
55
|
+
/** 是否必须通过 */
|
|
56
|
+
required?: boolean;
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* 检查点定义
|
|
60
|
+
*/
|
|
61
|
+
export interface Checkpoint {
|
|
62
|
+
/** 检查点 ID */
|
|
63
|
+
id: string;
|
|
64
|
+
/** 检查点名称 */
|
|
65
|
+
name?: string;
|
|
66
|
+
/** 描述 */
|
|
67
|
+
description?: string;
|
|
68
|
+
/** 检查列表 */
|
|
69
|
+
checks: CheckpointCheck[];
|
|
70
|
+
/** 是否必须全部通过 */
|
|
71
|
+
requireAll?: boolean;
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* 单项检查结果
|
|
75
|
+
*/
|
|
76
|
+
export interface CheckResult {
|
|
77
|
+
/** 检查 ID */
|
|
78
|
+
checkId: string;
|
|
79
|
+
/** 是否通过 */
|
|
80
|
+
passed: boolean;
|
|
81
|
+
/** 消息 */
|
|
82
|
+
message?: string;
|
|
83
|
+
/** 错误详情 */
|
|
84
|
+
error?: string;
|
|
85
|
+
/** 实际值 */
|
|
86
|
+
actual?: any;
|
|
87
|
+
/** 预期值 */
|
|
88
|
+
expected?: any;
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* 检查点验证结果
|
|
92
|
+
*/
|
|
93
|
+
export interface CheckpointResult {
|
|
94
|
+
/** 检查点 ID */
|
|
95
|
+
checkpointId: string;
|
|
96
|
+
/** 是否全部通过 */
|
|
97
|
+
passed: boolean;
|
|
98
|
+
/** 各项检查结果 */
|
|
99
|
+
checks: CheckResult[];
|
|
100
|
+
/** 消息 */
|
|
101
|
+
message?: string;
|
|
102
|
+
/** 验证时间 */
|
|
103
|
+
validatedAt: Date;
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* 检查点验证上下文
|
|
107
|
+
*/
|
|
108
|
+
export interface CheckpointContext {
|
|
109
|
+
/** 项目路径 */
|
|
110
|
+
projectPath: string;
|
|
111
|
+
/** 工作目录 */
|
|
112
|
+
workdir: string;
|
|
113
|
+
/** 环境变量 */
|
|
114
|
+
env?: Record<string, string>;
|
|
115
|
+
/** 步骤输出(用于 output_* 检查) */
|
|
116
|
+
output?: any;
|
|
117
|
+
/** 自定义检查处理器 */
|
|
118
|
+
customHandlers?: Map<string, (config: CheckConfig) => Promise<CheckResult>>;
|
|
119
|
+
}
|
|
120
|
+
//# sourceMappingURL=checkpoint.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"checkpoint.d.ts","sourceRoot":"","sources":["../../src/types/checkpoint.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"checkpoint.js","sourceRoot":"","sources":["../../src/types/checkpoint.ts"],"names":[],"mappings":";AAAA;;GAEG"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CSO (Concise Skill Optimization) 类型定义
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* Workflow 元数据
|
|
6
|
+
*/
|
|
7
|
+
export interface WorkflowMeta {
|
|
8
|
+
/** 工作流名称 */
|
|
9
|
+
name: string;
|
|
10
|
+
/** 工作流描述 */
|
|
11
|
+
description: string;
|
|
12
|
+
/** 工作流步骤 */
|
|
13
|
+
steps?: StepMeta[];
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Step 元数据
|
|
17
|
+
*/
|
|
18
|
+
export interface StepMeta {
|
|
19
|
+
/** 步骤名称 */
|
|
20
|
+
name: string;
|
|
21
|
+
/** 步骤描述 */
|
|
22
|
+
description: string;
|
|
23
|
+
/** 步骤工具 */
|
|
24
|
+
tools?: ToolMeta[];
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Tool 元数据
|
|
28
|
+
*/
|
|
29
|
+
export interface ToolMeta {
|
|
30
|
+
/** 工具名称 */
|
|
31
|
+
name: string;
|
|
32
|
+
/** 工具描述 */
|
|
33
|
+
description: string;
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=cso.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cso.d.ts","sourceRoot":"","sources":["../../src/types/cso.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,YAAY;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,YAAY;IACZ,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY;IACZ,KAAK,CAAC,EAAE,QAAQ,EAAE,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB,WAAW;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW;IACX,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW;IACX,KAAK,CAAC,EAAE,QAAQ,EAAE,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB,WAAW;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW;IACX,WAAW,EAAE,MAAM,CAAC;CACrB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cso.js","sourceRoot":"","sources":["../../src/types/cso.ts"],"names":[],"mappings":";AAAA;;GAEG"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 类型导出
|
|
3
|
+
*/
|
|
4
|
+
export * from './iron-law';
|
|
5
|
+
export * from './checkpoint';
|
|
6
|
+
export * from './passes-gate';
|
|
7
|
+
export * from './cso';
|
|
8
|
+
export { StartupCheckpoints, StartupCheckpointType, StartupCheckpointResult, CleanStateConfig, CleanStateResult, DetectedBug, TaskListJson, TaskStepStatus, SessionInfo, } from './session';
|
|
9
|
+
export { DynamicTask as ExtendedDynamicTask, TaskTestResult as ExtendedTaskTestResult } from './session';
|
|
10
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,OAAO,CAAC;AAGtB,OAAO,EACL,kBAAkB,EAClB,qBAAqB,EACrB,uBAAuB,EACvB,gBAAgB,EAChB,gBAAgB,EAChB,WAAW,EACX,YAAY,EACZ,cAAc,EACd,WAAW,GACZ,MAAM,WAAW,CAAC;AAGnB,OAAO,EAAE,WAAW,IAAI,mBAAmB,EAAE,cAAc,IAAI,sBAAsB,EAAE,MAAM,WAAW,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* 类型导出
|
|
4
|
+
*/
|
|
5
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
6
|
+
if (k2 === undefined) k2 = k;
|
|
7
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
8
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
9
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
10
|
+
}
|
|
11
|
+
Object.defineProperty(o, k2, desc);
|
|
12
|
+
}) : (function(o, m, k, k2) {
|
|
13
|
+
if (k2 === undefined) k2 = k;
|
|
14
|
+
o[k2] = m[k];
|
|
15
|
+
}));
|
|
16
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
17
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
18
|
+
};
|
|
19
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
20
|
+
__exportStar(require("./iron-law"), exports);
|
|
21
|
+
__exportStar(require("./checkpoint"), exports);
|
|
22
|
+
__exportStar(require("./passes-gate"), exports);
|
|
23
|
+
__exportStar(require("./cso"), exports);
|
|
24
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":";AAAA;;GAEG;;;;;;;;;;;;;;;;AAEH,6CAA2B;AAC3B,+CAA6B;AAC7B,gDAA8B;AAC9B,wCAAsB"}
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 铁律类型定义
|
|
3
|
+
*
|
|
4
|
+
* 铁律是工程约束框架中的强制规则,必须在执行关键操作前检查
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* 铁律 ID
|
|
8
|
+
*/
|
|
9
|
+
export type IronLawId = string;
|
|
10
|
+
/**
|
|
11
|
+
* 铁律严重性
|
|
12
|
+
*/
|
|
13
|
+
export type IronLawSeverity = 'error' | 'warning' | 'info';
|
|
14
|
+
/**
|
|
15
|
+
* 铁律触发条件
|
|
16
|
+
*/
|
|
17
|
+
export type IronLawTrigger = 'bug_fix_attempt' | 'task_completion_claim' | 'skill_creation' | 'code_implementation' | 'workflow_execution' | 'step_execution' | 'step_creation' | 'tool_creation' | 'workflow_creation' | 'module_creation' | 'module_modification' | 'module_deletion' | 'api_change' | 'export_change' | 'file_creation' | 'file_modification' | 'file_deletion' | 'commit' | 'push' | 'merge';
|
|
18
|
+
/**
|
|
19
|
+
* 铁律定义
|
|
20
|
+
*/
|
|
21
|
+
export interface IronLaw {
|
|
22
|
+
/** 铁律 ID */
|
|
23
|
+
id: IronLawId;
|
|
24
|
+
/** 铁律规则(英文) */
|
|
25
|
+
rule: string;
|
|
26
|
+
/** 铁律消息(中文) */
|
|
27
|
+
message: string;
|
|
28
|
+
/** 触发条件 */
|
|
29
|
+
trigger: IronLawTrigger;
|
|
30
|
+
/** 强制执行的技能/步骤 */
|
|
31
|
+
enforcement: string;
|
|
32
|
+
/** 铁律严重级别 */
|
|
33
|
+
severity: IronLawSeverity;
|
|
34
|
+
/** 铁律描述 */
|
|
35
|
+
description?: string;
|
|
36
|
+
/** 是否启用 */
|
|
37
|
+
enabled?: boolean;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* 铁律检查结果
|
|
41
|
+
*/
|
|
42
|
+
export interface IronLawResult {
|
|
43
|
+
/** 是否满足铁律 */
|
|
44
|
+
satisfied: boolean;
|
|
45
|
+
/** 铁律定义 */
|
|
46
|
+
law?: IronLaw;
|
|
47
|
+
/** 错误消息 */
|
|
48
|
+
message?: string;
|
|
49
|
+
/** 建议操作 */
|
|
50
|
+
requiredAction?: string;
|
|
51
|
+
/** 检查时间 */
|
|
52
|
+
checkedAt: Date;
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* 铁律检查上下文
|
|
56
|
+
*/
|
|
57
|
+
export interface IronLawContext {
|
|
58
|
+
/** 当前操作类型 */
|
|
59
|
+
operation: IronLawTrigger;
|
|
60
|
+
/** 工作流 ID */
|
|
61
|
+
workflowId?: string;
|
|
62
|
+
/** 步骤 ID */
|
|
63
|
+
stepId?: string;
|
|
64
|
+
/** 任务描述 */
|
|
65
|
+
taskDescription?: string;
|
|
66
|
+
/** 项目路径 */
|
|
67
|
+
projectPath?: string;
|
|
68
|
+
/** 变更的文件列表 */
|
|
69
|
+
changedFiles?: string[];
|
|
70
|
+
/** 提交信息 */
|
|
71
|
+
commitMessage?: string;
|
|
72
|
+
/** 分支名称 */
|
|
73
|
+
branch?: string;
|
|
74
|
+
/** 是否有根本原因调查 */
|
|
75
|
+
hasRootCauseInvestigation?: boolean;
|
|
76
|
+
/** 是否有验证证据 */
|
|
77
|
+
hasVerificationEvidence?: boolean;
|
|
78
|
+
/** 是否有测试 */
|
|
79
|
+
hasTest?: boolean;
|
|
80
|
+
/** 是否有失败的测试 */
|
|
81
|
+
hasFailingTest?: boolean;
|
|
82
|
+
/** 是否已进行复用检查 */
|
|
83
|
+
hasReuseCheck?: boolean;
|
|
84
|
+
/** 复用检查结果 */
|
|
85
|
+
reuseCheckResult?: {
|
|
86
|
+
existingCapabilities: string[];
|
|
87
|
+
canReuse: boolean;
|
|
88
|
+
reuseRecommendation: string;
|
|
89
|
+
};
|
|
90
|
+
/** 执行上下文 */
|
|
91
|
+
executionContext?: any;
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* 铁律违规错误
|
|
95
|
+
*/
|
|
96
|
+
export declare class IronLawViolationError extends Error {
|
|
97
|
+
readonly result: IronLawResult;
|
|
98
|
+
constructor(result: IronLawResult);
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* 铁律配置
|
|
102
|
+
*/
|
|
103
|
+
export interface IronLawConfig {
|
|
104
|
+
/** 铁律列表 */
|
|
105
|
+
ironLaws: IronLaw[];
|
|
106
|
+
/** 预设名称 */
|
|
107
|
+
preset?: 'strict' | 'standard' | 'relaxed';
|
|
108
|
+
/** 是否启用 */
|
|
109
|
+
enabled?: boolean;
|
|
110
|
+
/** 配置文件路径 */
|
|
111
|
+
configPath?: string;
|
|
112
|
+
}
|
|
113
|
+
//# sourceMappingURL=iron-law.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"iron-law.d.ts","sourceRoot":"","sources":["../../src/types/iron-law.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG,MAAM,CAAC;AAE/B;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG,OAAO,GAAG,SAAS,GAAG,MAAM,CAAC;AAE3D;;GAEG;AACH,MAAM,MAAM,cAAc,GACtB,iBAAiB,GACjB,uBAAuB,GACvB,gBAAgB,GAChB,qBAAqB,GACrB,oBAAoB,GACpB,gBAAgB,GAChB,eAAe,GACf,eAAe,GACf,mBAAmB,GACnB,iBAAiB,GACjB,qBAAqB,GACrB,iBAAiB,GACjB,YAAY,GACZ,eAAe,GACf,eAAe,GACf,mBAAmB,GACnB,eAAe,GACf,QAAQ,GACR,MAAM,GACN,OAAO,CAAC;AAEZ;;GAEG;AACH,MAAM,WAAW,OAAO;IACtB,YAAY;IACZ,EAAE,EAAE,SAAS,CAAC;IAEd,eAAe;IACf,IAAI,EAAE,MAAM,CAAC;IAEb,eAAe;IACf,OAAO,EAAE,MAAM,CAAC;IAEhB,WAAW;IACX,OAAO,EAAE,cAAc,CAAC;IAExB,iBAAiB;IACjB,WAAW,EAAE,MAAM,CAAC;IAEpB,aAAa;IACb,QAAQ,EAAE,eAAe,CAAC;IAE1B,WAAW;IACX,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,WAAW;IACX,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,aAAa;IACb,SAAS,EAAE,OAAO,CAAC;IAEnB,WAAW;IACX,GAAG,CAAC,EAAE,OAAO,CAAC;IAEd,WAAW;IACX,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,WAAW;IACX,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB,WAAW;IACX,SAAS,EAAE,IAAI,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,aAAa;IACb,SAAS,EAAE,cAAc,CAAC;IAE1B,aAAa;IACb,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,YAAY;IACZ,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,WAAW;IACX,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB,WAAW;IACX,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,cAAc;IACd,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IAExB,WAAW;IACX,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB,WAAW;IACX,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,gBAAgB;IAChB,yBAAyB,CAAC,EAAE,OAAO,CAAC;IAEpC,cAAc;IACd,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAElC,YAAY;IACZ,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB,eAAe;IACf,cAAc,CAAC,EAAE,OAAO,CAAC;IAEzB,gBAAgB;IAChB,aAAa,CAAC,EAAE,OAAO,CAAC;IAExB,aAAa;IACb,gBAAgB,CAAC,EAAE;QACjB,oBAAoB,EAAE,MAAM,EAAE,CAAC;QAC/B,QAAQ,EAAE,OAAO,CAAC;QAClB,mBAAmB,EAAE,MAAM,CAAC;KAC7B,CAAC;IAEF,YAAY;IACZ,gBAAgB,CAAC,EAAE,GAAG,CAAC;CACxB;AAED;;GAEG;AACH,qBAAa,qBAAsB,SAAQ,KAAK;IAC9C,SAAgB,MAAM,EAAE,aAAa,CAAC;gBAE1B,MAAM,EAAE,aAAa;CAKlC;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,WAAW;IACX,QAAQ,EAAE,OAAO,EAAE,CAAC;IAEpB,WAAW;IACX,MAAM,CAAC,EAAE,QAAQ,GAAG,UAAU,GAAG,SAAS,CAAC;IAE3C,WAAW;IACX,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB,aAAa;IACb,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* 铁律类型定义
|
|
4
|
+
*
|
|
5
|
+
* 铁律是工程约束框架中的强制规则,必须在执行关键操作前检查
|
|
6
|
+
*/
|
|
7
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
+
exports.IronLawViolationError = void 0;
|
|
9
|
+
/**
|
|
10
|
+
* 铁律违规错误
|
|
11
|
+
*/
|
|
12
|
+
class IronLawViolationError extends Error {
|
|
13
|
+
result;
|
|
14
|
+
constructor(result) {
|
|
15
|
+
super(result.message || 'Iron law violation');
|
|
16
|
+
this.name = 'IronLawViolationError';
|
|
17
|
+
this.result = result;
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
exports.IronLawViolationError = IronLawViolationError;
|
|
21
|
+
//# sourceMappingURL=iron-law.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"iron-law.js","sourceRoot":"","sources":["../../src/types/iron-law.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AA4IH;;GAEG;AACH,MAAa,qBAAsB,SAAQ,KAAK;IAC9B,MAAM,CAAgB;IAEtC,YAAY,MAAqB;QAC/B,KAAK,CAAC,MAAM,CAAC,OAAO,IAAI,oBAAoB,CAAC,CAAC;QAC9C,IAAI,CAAC,IAAI,GAAG,uBAAuB,CAAC;QACpC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;CACF;AARD,sDAQC"}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 测试门控类型定义
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* 测试门控配置
|
|
6
|
+
*/
|
|
7
|
+
export interface PassesGateConfig {
|
|
8
|
+
/** 是否启用 */
|
|
9
|
+
enabled?: boolean;
|
|
10
|
+
/** 测试命令 */
|
|
11
|
+
testCommand?: string;
|
|
12
|
+
/** 是否需要证据 */
|
|
13
|
+
requireEvidence?: boolean;
|
|
14
|
+
/** 是否允许部分通过 */
|
|
15
|
+
allowPartialPass?: boolean;
|
|
16
|
+
/** 最大重试次数 */
|
|
17
|
+
maxRetries?: number;
|
|
18
|
+
/** 重试延迟(毫秒) */
|
|
19
|
+
retryDelay?: number;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* 测试结果
|
|
23
|
+
*/
|
|
24
|
+
export interface TaskTestResult {
|
|
25
|
+
/** 是否通过 */
|
|
26
|
+
passed: boolean;
|
|
27
|
+
/** 测试命令 */
|
|
28
|
+
command: string;
|
|
29
|
+
/** 输出 */
|
|
30
|
+
output?: string;
|
|
31
|
+
/** 错误 */
|
|
32
|
+
error?: string;
|
|
33
|
+
/** 执行时间(毫秒) */
|
|
34
|
+
duration?: number;
|
|
35
|
+
/** 时间戳 */
|
|
36
|
+
timestamp?: Date;
|
|
37
|
+
/** 失败的测试列表 */
|
|
38
|
+
failures?: string[];
|
|
39
|
+
/** 覆盖率 */
|
|
40
|
+
coverage?: number;
|
|
41
|
+
/** 证据路径 */
|
|
42
|
+
evidence?: string;
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* 测试门控结果
|
|
46
|
+
*/
|
|
47
|
+
export interface PassesGateResult {
|
|
48
|
+
/** 任务 ID */
|
|
49
|
+
taskId: string;
|
|
50
|
+
/** 是否允许设置 */
|
|
51
|
+
allowed: boolean;
|
|
52
|
+
/** 测试结果 */
|
|
53
|
+
testResult?: TaskTestResult;
|
|
54
|
+
/** 尝试次数 */
|
|
55
|
+
attempts: number;
|
|
56
|
+
/** 错误信息 */
|
|
57
|
+
error?: string;
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* 动态任务(用于 passes-gate)
|
|
61
|
+
*/
|
|
62
|
+
export interface DynamicTask {
|
|
63
|
+
/** 任务 ID */
|
|
64
|
+
id: string;
|
|
65
|
+
/** 任务名称 */
|
|
66
|
+
name?: string;
|
|
67
|
+
/** 是否通过 */
|
|
68
|
+
passes?: boolean;
|
|
69
|
+
/** 测试结果 */
|
|
70
|
+
testResult?: TaskTestResult;
|
|
71
|
+
}
|
|
72
|
+
//# sourceMappingURL=passes-gate.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"passes-gate.d.ts","sourceRoot":"","sources":["../../src/types/passes-gate.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,WAAW;IACX,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB,WAAW;IACX,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,aAAa;IACb,eAAe,CAAC,EAAE,OAAO,CAAC;IAE1B,eAAe;IACf,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAE3B,aAAa;IACb,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,eAAe;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,WAAW;IACX,MAAM,EAAE,OAAO,CAAC;IAEhB,WAAW;IACX,OAAO,EAAE,MAAM,CAAC;IAEhB,SAAS;IACT,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,SAAS;IACT,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,eAAe;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,UAAU;IACV,SAAS,CAAC,EAAE,IAAI,CAAC;IAEjB,cAAc;IACd,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IAEpB,UAAU;IACV,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,WAAW;IACX,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,YAAY;IACZ,MAAM,EAAE,MAAM,CAAC;IAEf,aAAa;IACb,OAAO,EAAE,OAAO,CAAC;IAEjB,WAAW;IACX,UAAU,CAAC,EAAE,cAAc,CAAC;IAE5B,WAAW;IACX,QAAQ,EAAE,MAAM,CAAC;IAEjB,WAAW;IACX,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,YAAY;IACZ,EAAE,EAAE,MAAM,CAAC;IAEX,WAAW;IACX,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,WAAW;IACX,MAAM,CAAC,EAAE,OAAO,CAAC;IAEjB,WAAW;IACX,UAAU,CAAC,EAAE,cAAc,CAAC;CAC7B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"passes-gate.js","sourceRoot":"","sources":["../../src/types/passes-gate.ts"],"names":[],"mappings":";AAAA;;GAEG"}
|