@dommaker/harness 0.6.0 → 0.7.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +212 -28
- package/bin/harness.js +47 -8
- package/dist/cli/commands/index.d.ts +1 -0
- package/dist/cli/commands/index.d.ts.map +1 -1
- package/dist/cli/commands/index.js +4 -1
- package/dist/cli/commands/index.js.map +1 -1
- package/dist/cli/commands/spec.d.ts +31 -0
- package/dist/cli/commands/spec.d.ts.map +1 -0
- package/dist/cli/commands/spec.js +169 -0
- package/dist/cli/commands/spec.js.map +1 -0
- package/dist/core/constraints/definitions.d.ts.map +1 -1
- package/dist/core/constraints/definitions.js +5 -2
- package/dist/core/constraints/definitions.js.map +1 -1
- package/dist/core/constraints/index.d.ts +2 -0
- package/dist/core/constraints/index.d.ts.map +1 -1
- package/dist/core/constraints/index.js +7 -1
- package/dist/core/constraints/index.js.map +1 -1
- package/dist/core/constraints/interceptor.d.ts +37 -0
- package/dist/core/constraints/interceptor.d.ts.map +1 -0
- package/dist/core/constraints/interceptor.js +176 -0
- package/dist/core/constraints/interceptor.js.map +1 -0
- package/dist/core/project-config-loader.d.ts +4 -0
- package/dist/core/project-config-loader.d.ts.map +1 -1
- package/dist/core/project-config-loader.js +62 -9
- package/dist/core/project-config-loader.js.map +1 -1
- package/dist/core/spec/index.d.ts +7 -0
- package/dist/core/spec/index.d.ts.map +1 -0
- package/dist/core/spec/index.js +23 -0
- package/dist/core/spec/index.js.map +1 -0
- package/dist/core/spec/validator.d.ts +78 -0
- package/dist/core/spec/validator.d.ts.map +1 -0
- package/dist/core/spec/validator.js +372 -0
- package/dist/core/spec/validator.js.map +1 -0
- package/dist/core/validators/passes-gate.d.ts +51 -1
- package/dist/core/validators/passes-gate.d.ts.map +1 -1
- package/dist/core/validators/passes-gate.js +90 -0
- package/dist/core/validators/passes-gate.js.map +1 -1
- package/dist/extensions/long-running/constraints.d.ts +38 -0
- package/dist/extensions/long-running/constraints.d.ts.map +1 -0
- package/dist/extensions/long-running/constraints.js +153 -0
- package/dist/extensions/long-running/constraints.js.map +1 -0
- package/dist/extensions/long-running/index.d.ts +30 -0
- package/dist/extensions/long-running/index.d.ts.map +1 -0
- package/dist/extensions/long-running/index.js +50 -0
- package/dist/extensions/long-running/index.js.map +1 -0
- package/dist/extensions/long-running/types.d.ts +154 -0
- package/dist/extensions/long-running/types.d.ts.map +1 -0
- package/dist/extensions/long-running/types.js +9 -0
- package/dist/extensions/long-running/types.js.map +1 -0
- package/dist/index.d.ts +7 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +20 -0
- package/dist/index.js.map +1 -1
- package/dist/presets/index.d.ts +1 -0
- package/dist/presets/index.d.ts.map +1 -1
- package/dist/presets/index.js +6 -1
- package/dist/presets/index.js.map +1 -1
- package/dist/presets/long-running.d.ts +33 -0
- package/dist/presets/long-running.d.ts.map +1 -0
- package/dist/presets/long-running.js +52 -0
- package/dist/presets/long-running.js.map +1 -0
- package/dist/types/constraint.d.ts +1 -1
- package/dist/types/constraint.d.ts.map +1 -1
- package/dist/types/constraint.js.map +1 -1
- package/dist/types/enforcement.d.ts +42 -0
- package/dist/types/enforcement.d.ts.map +1 -0
- package/dist/types/enforcement.js +6 -0
- package/dist/types/enforcement.js.map +1 -0
- package/dist/types/index.d.ts +2 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +4 -0
- package/dist/types/index.js.map +1 -1
- package/dist/types/passes-gate.d.ts +20 -0
- package/dist/types/passes-gate.d.ts.map +1 -1
- package/dist/types/project-config.d.ts +22 -9
- package/dist/types/project-config.d.ts.map +1 -1
- package/dist/types/spec.d.ts +85 -0
- package/dist/types/spec.d.ts.map +1 -0
- package/dist/types/spec.js +8 -0
- package/dist/types/spec.js.map +1 -0
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constraint.d.ts","sourceRoot":"","sources":["../../src/types/constraint.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"constraint.d.ts","sourceRoot":"","sources":["../../src/types/constraint.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constraint.js","sourceRoot":"","sources":["../../src/types/constraint.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG;;;
|
|
1
|
+
{"version":3,"file":"constraint.js","sourceRoot":"","sources":["../../src/types/constraint.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG;;;AAiPH;;GAEG;AACH,MAAa,wBAAyB,SAAQ,KAAK;IACjC,MAAM,CAAmB;IAEzC,YAAY,MAAwB;QAClC,KAAK,CAAC,MAAM,CAAC,OAAO,IAAI,sBAAsB,CAAC,CAAC;QAChD,IAAI,CAAC,IAAI,GAAG,0BAA0B,CAAC;QACvC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;CACF;AARD,4DAQC;AAED;;GAEG;AACH,MAAa,qBAAsB,SAAQ,wBAAwB;IACjE,YAAY,MAAwB;QAClC,KAAK,CAAC,MAAM,CAAC,CAAC;QACd,IAAI,CAAC,IAAI,GAAG,uBAAuB,CAAC;IACtC,CAAC;CACF;AALD,sDAKC"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Enforcement 执行器类型定义
|
|
3
|
+
*/
|
|
4
|
+
import type { Constraint, ConstraintContext } from './constraint';
|
|
5
|
+
export type EnforcementId = string;
|
|
6
|
+
export interface EnforcementContext extends ConstraintContext {
|
|
7
|
+
enforcementId: EnforcementId;
|
|
8
|
+
constraint: Constraint;
|
|
9
|
+
params?: Record<string, any>;
|
|
10
|
+
}
|
|
11
|
+
export interface EnforcementResult {
|
|
12
|
+
passed: boolean;
|
|
13
|
+
evidence?: string;
|
|
14
|
+
message?: string;
|
|
15
|
+
error?: string;
|
|
16
|
+
duration?: number;
|
|
17
|
+
validatedAt?: Date;
|
|
18
|
+
}
|
|
19
|
+
export interface EnforcementExecutor {
|
|
20
|
+
execute(context: EnforcementContext): Promise<EnforcementResult>;
|
|
21
|
+
description?: string;
|
|
22
|
+
supportedParams?: string[];
|
|
23
|
+
}
|
|
24
|
+
export interface EnforcementRegistration {
|
|
25
|
+
id: EnforcementId;
|
|
26
|
+
executor: EnforcementExecutor;
|
|
27
|
+
registeredAt: Date;
|
|
28
|
+
source?: string;
|
|
29
|
+
}
|
|
30
|
+
export interface InterceptionResult {
|
|
31
|
+
passed: boolean;
|
|
32
|
+
constraints: {
|
|
33
|
+
constraint: Constraint;
|
|
34
|
+
enforcementResult?: EnforcementResult;
|
|
35
|
+
skipped?: boolean;
|
|
36
|
+
skipReason?: string;
|
|
37
|
+
}[];
|
|
38
|
+
violations: Constraint[];
|
|
39
|
+
message?: string;
|
|
40
|
+
interceptedAt: Date;
|
|
41
|
+
}
|
|
42
|
+
//# sourceMappingURL=enforcement.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"enforcement.d.ts","sourceRoot":"","sources":["../../src/types/enforcement.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAElE,MAAM,MAAM,aAAa,GAAG,MAAM,CAAC;AAEnC,MAAM,WAAW,kBAAmB,SAAQ,iBAAiB;IAC3D,aAAa,EAAE,aAAa,CAAC;IAC7B,UAAU,EAAE,UAAU,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAC9B;AAED,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,IAAI,CAAC;CACpB;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;IACjE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;CAC5B;AAED,MAAM,WAAW,uBAAuB;IACtC,EAAE,EAAE,aAAa,CAAC;IAClB,QAAQ,EAAE,mBAAmB,CAAC;IAC9B,YAAY,EAAE,IAAI,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,OAAO,CAAC;IAChB,WAAW,EAAE;QACX,UAAU,EAAE,UAAU,CAAC;QACvB,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;QACtC,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,EAAE,CAAC;IACJ,UAAU,EAAE,UAAU,EAAE,CAAC;IACzB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,IAAI,CAAC;CACrB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"enforcement.js","sourceRoot":"","sources":["../../src/types/enforcement.ts"],"names":[],"mappings":";AAAA;;GAEG"}
|
package/dist/types/index.d.ts
CHANGED
|
@@ -11,4 +11,6 @@ export type { ConstraintProposal, ProposalReviewResult, } from '../monitoring/co
|
|
|
11
11
|
export { StartupCheckpoints, StartupCheckpointType, StartupCheckpointResult, CleanStateConfig, CleanStateResult, DetectedBug, TaskListJson, TaskStepStatus, SessionInfo, } from './session';
|
|
12
12
|
export { DynamicTask as ExtendedDynamicTask, TaskTestResult as ExtendedTaskTestResult } from './session';
|
|
13
13
|
export * from './project-config';
|
|
14
|
+
export * from './enforcement';
|
|
15
|
+
export * from './spec';
|
|
14
16
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,cAAc,cAAc,CAAC;AAE7B,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,OAAO,CAAC;AAGtB,cAAc,SAAS,CAAC;AAGxB,YAAY,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AACjE,YAAY,EACV,kBAAkB,EAClB,oBAAoB,GACrB,MAAM,kCAAkC,CAAC;AAG1C,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;AAGzG,cAAc,kBAAkB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,cAAc,cAAc,CAAC;AAE7B,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,OAAO,CAAC;AAGtB,cAAc,SAAS,CAAC;AAGxB,YAAY,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AACjE,YAAY,EACV,kBAAkB,EAClB,oBAAoB,GACrB,MAAM,kCAAkC,CAAC;AAG1C,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;AAGzG,cAAc,kBAAkB,CAAC;AAGjC,cAAc,eAAe,CAAC;AAG9B,cAAc,QAAQ,CAAC"}
|
package/dist/types/index.js
CHANGED
|
@@ -26,4 +26,8 @@ __exportStar(require("./cso"), exports);
|
|
|
26
26
|
__exportStar(require("./trace"), exports);
|
|
27
27
|
// 项目配置类型
|
|
28
28
|
__exportStar(require("./project-config"), exports);
|
|
29
|
+
// Enforcement 类型
|
|
30
|
+
__exportStar(require("./enforcement"), exports);
|
|
31
|
+
// Spec 验证类型
|
|
32
|
+
__exportStar(require("./spec"), exports);
|
|
29
33
|
//# sourceMappingURL=index.js.map
|
package/dist/types/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":";AAAA;;GAEG;;;;;;;;;;;;;;;;AAEH,aAAa;AACb,+CAA6B;AAE7B,+CAA6B;AAC7B,gDAA8B;AAC9B,wCAAsB;AAEtB,+BAA+B;AAC/B,0CAAwB;AAyBxB,SAAS;AACT,mDAAiC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":";AAAA;;GAEG;;;;;;;;;;;;;;;;AAEH,aAAa;AACb,+CAA6B;AAE7B,+CAA6B;AAC7B,gDAA8B;AAC9B,wCAAsB;AAEtB,+BAA+B;AAC/B,0CAAwB;AAyBxB,SAAS;AACT,mDAAiC;AAEjC,iBAAiB;AACjB,gDAA8B;AAE9B,YAAY;AACZ,yCAAuB"}
|
|
@@ -69,4 +69,24 @@ export interface DynamicTask {
|
|
|
69
69
|
/** 测试结果 */
|
|
70
70
|
testResult?: TaskTestResult;
|
|
71
71
|
}
|
|
72
|
+
/**
|
|
73
|
+
* PassesGate 扩展接口
|
|
74
|
+
*
|
|
75
|
+
* 用于注册额外的测试类型(如 Puppeteer E2E)
|
|
76
|
+
*/
|
|
77
|
+
export interface PassesGateExtension {
|
|
78
|
+
/** 扩展名称 */
|
|
79
|
+
name: string;
|
|
80
|
+
/** 扩展描述 */
|
|
81
|
+
description?: string;
|
|
82
|
+
/** 运行测试 */
|
|
83
|
+
run(workDir: string, task?: DynamicTask): Promise<TaskTestResult>;
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* 扩展测试结果(包含类型标识)
|
|
87
|
+
*/
|
|
88
|
+
export interface ExtensionTestResult extends TaskTestResult {
|
|
89
|
+
/** 测试类型(扩展名称) */
|
|
90
|
+
type?: string;
|
|
91
|
+
}
|
|
72
92
|
//# sourceMappingURL=passes-gate.d.ts.map
|
|
@@ -1 +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"}
|
|
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;AAED;;;;GAIG;AACH,MAAM,WAAW,mBAAmB;IAClC,WAAW;IACX,IAAI,EAAE,MAAM,CAAC;IAEb,WAAW;IACX,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,WAAW;IACX,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;CACnE;AAED;;GAEG;AACH,MAAM,WAAW,mBAAoB,SAAQ,cAAc;IACzD,iBAAiB;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf"}
|
|
@@ -10,16 +10,18 @@ import type { Constraint, ConstraintLevel } from './constraint';
|
|
|
10
10
|
export interface CustomConstraintDefinition {
|
|
11
11
|
/** 约束 ID */
|
|
12
12
|
id: string;
|
|
13
|
-
/**
|
|
14
|
-
level
|
|
15
|
-
/**
|
|
16
|
-
rule
|
|
17
|
-
/**
|
|
18
|
-
message
|
|
19
|
-
/**
|
|
20
|
-
trigger
|
|
21
|
-
/**
|
|
13
|
+
/** 约束层级(扩展例外时可省略,自动使用内置约束层级) */
|
|
14
|
+
level?: ConstraintLevel;
|
|
15
|
+
/** 约束规则(扩展例外时可省略) */
|
|
16
|
+
rule?: string;
|
|
17
|
+
/** 约束消息(扩展例外时可省略) */
|
|
18
|
+
message?: string;
|
|
19
|
+
/** 触发条件(扩展例外时可省略) */
|
|
20
|
+
trigger?: string | string[];
|
|
21
|
+
/** 例外条件(可选,完全覆盖内置例外) */
|
|
22
22
|
exceptions?: string[];
|
|
23
|
+
/** 扩展例外(可选,追加到内置例外) */
|
|
24
|
+
extend_exceptions?: string[];
|
|
23
25
|
/** 描述(可选) */
|
|
24
26
|
description?: string;
|
|
25
27
|
/** 是否启用(可选,默认 true) */
|
|
@@ -43,6 +45,17 @@ export interface ProjectConfig {
|
|
|
43
45
|
custom_constraints_file?: string;
|
|
44
46
|
/** 自定义约束(直接定义) */
|
|
45
47
|
custom_constraints?: Record<string, CustomConstraintDefinition>;
|
|
48
|
+
/** Spec 验证配置 */
|
|
49
|
+
spec?: {
|
|
50
|
+
/** 是否启用 Spec 验证 */
|
|
51
|
+
enabled?: boolean;
|
|
52
|
+
/** Schema 路径(项目定义) */
|
|
53
|
+
schemaPath?: string;
|
|
54
|
+
/** 要验证的文件模式 */
|
|
55
|
+
files?: string[];
|
|
56
|
+
/** 验证失败的级别 */
|
|
57
|
+
failureLevel?: 'error' | 'warning';
|
|
58
|
+
};
|
|
46
59
|
}
|
|
47
60
|
/**
|
|
48
61
|
* 完整的约束配置(合并内置 + 自定义)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"project-config.d.ts","sourceRoot":"","sources":["../../src/types/project-config.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAEhE;;GAEG;AACH,MAAM,WAAW,0BAA0B;IACzC,YAAY;IACZ,EAAE,EAAE,MAAM,CAAC;IAEX,
|
|
1
|
+
{"version":3,"file":"project-config.d.ts","sourceRoot":"","sources":["../../src/types/project-config.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAEhE;;GAEG;AACH,MAAM,WAAW,0BAA0B;IACzC,YAAY;IACZ,EAAE,EAAE,MAAM,CAAC;IAEX,gCAAgC;IAChC,KAAK,CAAC,EAAE,eAAe,CAAC;IAExB,qBAAqB;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,qBAAqB;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,qBAAqB;IACrB,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAE5B,wBAAwB;IACxB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IAEtB,uBAAuB;IACvB,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;IAE7B,aAAa;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,uBAAuB;IACvB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,iBAAiB;IACjB,OAAO,CAAC,EAAE;QACR,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC;IAEF,WAAW;IACX,MAAM,CAAC,EAAE,QAAQ,GAAG,UAAU,GAAG,SAAS,CAAC;IAE3C,kBAAkB;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,OAAO,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;IAEpD,gBAAgB;IAChB,uBAAuB,CAAC,EAAE,MAAM,CAAC;IAEjC,kBAAkB;IAClB,kBAAkB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,0BAA0B,CAAC,CAAC;IAEhE,gBAAgB;IAChB,IAAI,CAAC,EAAE;QACL,mBAAmB;QACnB,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,sBAAsB;QACtB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,eAAe;QACf,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;QACjB,cAAc;QACd,YAAY,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;KACpC,CAAC;CACH;AAED;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,qBAAqB;IACrB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IAErC,sBAAsB;IACtB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IAEvC,gBAAgB;IAChB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IAEjC,eAAe;IACf,QAAQ,EAAE,MAAM,EAAE,CAAC;IAEnB,eAAe;IACf,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB"}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Spec 验证类型
|
|
3
|
+
*
|
|
4
|
+
* 框架提供验证机制,项目定义自己的 Spec Schema
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* Spec 类型
|
|
8
|
+
*/
|
|
9
|
+
export type SpecType = 'architecture' | 'module' | 'api' | 'custom';
|
|
10
|
+
/**
|
|
11
|
+
* Spec 验证错误
|
|
12
|
+
*/
|
|
13
|
+
export interface SpecValidationError {
|
|
14
|
+
/** 错误路径 */
|
|
15
|
+
path: string;
|
|
16
|
+
/** 错误消息 */
|
|
17
|
+
message: string;
|
|
18
|
+
/** 严重程度 */
|
|
19
|
+
severity: 'error' | 'warning';
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Spec 验证结果
|
|
23
|
+
*/
|
|
24
|
+
export interface SpecValidationResult {
|
|
25
|
+
/** 是否通过 */
|
|
26
|
+
valid: boolean;
|
|
27
|
+
/** 文件路径 */
|
|
28
|
+
file: string;
|
|
29
|
+
/** Spec 类型 */
|
|
30
|
+
type: SpecType;
|
|
31
|
+
/** 错误列表 */
|
|
32
|
+
errors: SpecValidationError[];
|
|
33
|
+
/** 警告列表 */
|
|
34
|
+
warnings: SpecValidationError[];
|
|
35
|
+
/** 指标(可选) */
|
|
36
|
+
metrics?: Record<string, number>;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Spec 验证配置
|
|
40
|
+
*/
|
|
41
|
+
export interface SpecValidatorConfig {
|
|
42
|
+
/** 是否启用 */
|
|
43
|
+
enabled: boolean;
|
|
44
|
+
/** Schema 路径(项目定义) */
|
|
45
|
+
schemaPath: string;
|
|
46
|
+
/** 要验证的文件模式 */
|
|
47
|
+
files: string[];
|
|
48
|
+
/** 验证失败的级别 */
|
|
49
|
+
failureLevel: 'error' | 'warning';
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Schema 加载器函数类型
|
|
53
|
+
*
|
|
54
|
+
* 项目可以自定义 Schema 加载逻辑
|
|
55
|
+
*/
|
|
56
|
+
export type SchemaLoader = (schemaPath: string) => Promise<SpecSchemaDefinition>;
|
|
57
|
+
/**
|
|
58
|
+
* Schema 定义(通用接口)
|
|
59
|
+
*
|
|
60
|
+
* 项目需要实现这个接口
|
|
61
|
+
*/
|
|
62
|
+
export interface SpecSchemaDefinition {
|
|
63
|
+
/** Schema 名称 */
|
|
64
|
+
name: string;
|
|
65
|
+
/** Schema 版本 */
|
|
66
|
+
version?: string;
|
|
67
|
+
/** 验证函数 */
|
|
68
|
+
validate: (content: string, filePath: string) => Promise<SpecValidationResult>;
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* 批量验证结果
|
|
72
|
+
*/
|
|
73
|
+
export interface BatchSpecValidationResult {
|
|
74
|
+
/** 总文件数 */
|
|
75
|
+
total: number;
|
|
76
|
+
/** 通过数 */
|
|
77
|
+
passed: number;
|
|
78
|
+
/** 失败数 */
|
|
79
|
+
failed: number;
|
|
80
|
+
/** 警告数 */
|
|
81
|
+
warnings: number;
|
|
82
|
+
/** 详细结果 */
|
|
83
|
+
results: SpecValidationResult[];
|
|
84
|
+
}
|
|
85
|
+
//# sourceMappingURL=spec.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"spec.d.ts","sourceRoot":"","sources":["../../src/types/spec.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;GAEG;AACH,MAAM,MAAM,QAAQ,GAAG,cAAc,GAAG,QAAQ,GAAG,KAAK,GAAG,QAAQ,CAAC;AAEpE;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,WAAW;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW;IACX,QAAQ,EAAE,OAAO,GAAG,SAAS,CAAC;CAC/B;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,WAAW;IACX,KAAK,EAAE,OAAO,CAAC;IACf,WAAW;IACX,IAAI,EAAE,MAAM,CAAC;IACb,cAAc;IACd,IAAI,EAAE,QAAQ,CAAC;IACf,WAAW;IACX,MAAM,EAAE,mBAAmB,EAAE,CAAC;IAC9B,WAAW;IACX,QAAQ,EAAE,mBAAmB,EAAE,CAAC;IAChC,aAAa;IACb,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAClC;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,WAAW;IACX,OAAO,EAAE,OAAO,CAAC;IACjB,sBAAsB;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe;IACf,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,cAAc;IACd,YAAY,EAAE,OAAO,GAAG,SAAS,CAAC;CACnC;AAED;;;;GAIG;AACH,MAAM,MAAM,YAAY,GAAG,CAAC,UAAU,EAAE,MAAM,KAAK,OAAO,CAAC,oBAAoB,CAAC,CAAC;AAEjF;;;;GAIG;AACH,MAAM,WAAW,oBAAoB;IACnC,gBAAgB;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,gBAAgB;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW;IACX,QAAQ,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,oBAAoB,CAAC,CAAC;CAChF;AAED;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACxC,WAAW;IACX,KAAK,EAAE,MAAM,CAAC;IACd,UAAU;IACV,MAAM,EAAE,MAAM,CAAC;IACf,UAAU;IACV,MAAM,EAAE,MAAM,CAAC;IACf,UAAU;IACV,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW;IACX,OAAO,EAAE,oBAAoB,EAAE,CAAC;CACjC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"spec.js","sourceRoot":"","sources":["../../src/types/spec.ts"],"names":[],"mappings":";AAAA;;;;GAIG"}
|