@dommaker/harness 0.10.0 → 0.11.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.
Files changed (67) hide show
  1. package/dist/cli/commands/index.d.ts +1 -1
  2. package/dist/cli/commands/index.d.ts.map +1 -1
  3. package/dist/cli/commands/index.js +2 -1
  4. package/dist/cli/commands/index.js.map +1 -1
  5. package/dist/cli/commands/init.d.ts.map +1 -1
  6. package/dist/cli/commands/init.js +18 -36
  7. package/dist/cli/commands/init.js.map +1 -1
  8. package/dist/cli/commands/sync-docs.d.ts.map +1 -1
  9. package/dist/cli/commands/sync-docs.js +27 -12
  10. package/dist/cli/commands/sync-docs.js.map +1 -1
  11. package/dist/cli/commands/validate.d.ts +5 -0
  12. package/dist/cli/commands/validate.d.ts.map +1 -1
  13. package/dist/cli/commands/validate.js +46 -42
  14. package/dist/cli/commands/validate.js.map +1 -1
  15. package/dist/evolution/auto-evolve.d.ts +36 -0
  16. package/dist/evolution/auto-evolve.d.ts.map +1 -0
  17. package/dist/evolution/auto-evolve.js +63 -0
  18. package/dist/evolution/auto-evolve.js.map +1 -0
  19. package/dist/evolution/index.d.ts +2 -0
  20. package/dist/evolution/index.d.ts.map +1 -0
  21. package/dist/evolution/index.js +18 -0
  22. package/dist/evolution/index.js.map +1 -0
  23. package/dist/index.d.ts +7 -1
  24. package/dist/index.d.ts.map +1 -1
  25. package/dist/index.js +18 -2
  26. package/dist/index.js.map +1 -1
  27. package/package.json +1 -1
  28. package/dist/cli/commands/diagnose.d.ts +0 -16
  29. package/dist/cli/commands/diagnose.d.ts.map +0 -1
  30. package/dist/cli/commands/diagnose.js +0 -195
  31. package/dist/cli/commands/diagnose.js.map +0 -1
  32. package/dist/cli/commands/propose.d.ts +0 -18
  33. package/dist/cli/commands/propose.d.ts.map +0 -1
  34. package/dist/cli/commands/propose.js +0 -331
  35. package/dist/cli/commands/propose.js.map +0 -1
  36. package/dist/cli/commands/traces.d.ts +0 -15
  37. package/dist/cli/commands/traces.d.ts.map +0 -1
  38. package/dist/cli/commands/traces.js +0 -167
  39. package/dist/cli/commands/traces.js.map +0 -1
  40. package/dist/constraints/definitions.d.ts +0 -39
  41. package/dist/constraints/definitions.d.ts.map +0 -1
  42. package/dist/constraints/definitions.js +0 -71
  43. package/dist/constraints/definitions.js.map +0 -1
  44. package/dist/constraints/quality.d.ts +0 -11
  45. package/dist/constraints/quality.d.ts.map +0 -1
  46. package/dist/constraints/quality.js +0 -257
  47. package/dist/constraints/quality.js.map +0 -1
  48. package/dist/constraints/safety.d.ts +0 -13
  49. package/dist/constraints/safety.d.ts.map +0 -1
  50. package/dist/constraints/safety.js +0 -103
  51. package/dist/constraints/safety.js.map +0 -1
  52. package/dist/extensions/long-running/constraints.d.ts +0 -38
  53. package/dist/extensions/long-running/constraints.d.ts.map +0 -1
  54. package/dist/extensions/long-running/constraints.js +0 -153
  55. package/dist/extensions/long-running/constraints.js.map +0 -1
  56. package/dist/extensions/long-running/index.d.ts +0 -30
  57. package/dist/extensions/long-running/index.d.ts.map +0 -1
  58. package/dist/extensions/long-running/index.js +0 -50
  59. package/dist/extensions/long-running/index.js.map +0 -1
  60. package/dist/extensions/long-running/types.d.ts +0 -154
  61. package/dist/extensions/long-running/types.d.ts.map +0 -1
  62. package/dist/extensions/long-running/types.js +0 -9
  63. package/dist/extensions/long-running/types.js.map +0 -1
  64. package/dist/presets/long-running.d.ts +0 -33
  65. package/dist/presets/long-running.d.ts.map +0 -1
  66. package/dist/presets/long-running.js +0 -52
  67. package/dist/presets/long-running.js.map +0 -1
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./auto-evolve"), exports);
18
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/evolution/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,gDAA8B"}
package/dist/index.d.ts CHANGED
@@ -35,6 +35,7 @@ export * from './governance';
35
35
  export * from './tools';
36
36
  export * from './agents';
37
37
  export * from './presets';
38
+ export * from './evolution';
38
39
  import type { ConstraintContext, ConstraintCheckResult, ConstraintTrigger } from './types/constraint';
39
40
  import type { EnforcementExecutor, EnforcementId, InterceptionResult } from './types/enforcement';
40
41
  /** 约束拦截器单例,用于注册 enforcement executor 和拦截操作 */
@@ -61,8 +62,13 @@ export declare function claimOperation(trigger: ConstraintTrigger, context: Cons
61
62
  export declare function registerExecutor(enforcementId: EnforcementId, executor: EnforcementExecutor, source?: string): void;
62
63
  /**
63
64
  * 检查约束(三层)
65
+ *
66
+ * @param context - 约束上下文
67
+ * @param options.onTrace - 每条约束检查后的回调(用于记录 trace 到外部存储)
64
68
  */
65
- export declare function checkConstraints(context: ConstraintContext): Promise<ConstraintCheckResult>;
69
+ export declare function checkConstraints(context: ConstraintContext, options?: {
70
+ onTrace?: (result: import('./types/constraint').ConstraintResult) => void;
71
+ }): Promise<ConstraintCheckResult>;
66
72
  /**
67
73
  * 执行前检查(仅 Iron Laws)
68
74
  */
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAKH,cAAc,SAAS,CAAC;AAKxB,cAAc,QAAQ,CAAC;AAKvB,cAAc,SAAS,CAAC;AAKxB,cAAc,cAAc,CAAC;AAK7B,cAAc,WAAW,CAAC;AAK1B,cAAc,kCAAkC,CAAC;AACjD,cAAc,sCAAsC,CAAC;AAKrD,cAAc,2BAA2B,CAAC;AAK1C,cAAc,WAAW,CAAC;AAK1B,cAAc,aAAa,CAAC;AAK5B,cAAc,UAAU,CAAC;AAKzB,cAAc,gBAAgB,CAAC;AAK/B,cAAc,eAAe,CAAC;AAK9B,cAAc,aAAa,CAAC;AAK5B,cAAc,OAAO,CAAC;AAKtB,cAAc,cAAc,CAAC;AAK7B,cAAc,SAAS,CAAC;AAKxB,cAAc,UAAU,CAAC;AAKzB,cAAc,WAAW,CAAC;AAO1B,OAAO,KAAK,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAEtG,OAAO,KAAK,EAAE,mBAAmB,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAElG,8CAA8C;AAC9C,eAAO,MAAM,WAAW,wCAAwB,CAAC;AAEjD;;;;;GAKG;AACH,wBAAsB,kBAAkB,CACtC,OAAO,EAAE,iBAAiB,EAC1B,OAAO,EAAE,iBAAiB,GACzB,OAAO,CAAC,kBAAkB,CAAC,CAE7B;AAED;;;;GAIG;AACH,wBAAsB,cAAc,CAClC,OAAO,EAAE,iBAAiB,EAC1B,OAAO,EAAE,iBAAiB,GACzB,OAAO,CAAC,IAAI,CAAC,CAEf;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAC9B,aAAa,EAAE,aAAa,EAC5B,QAAQ,EAAE,mBAAmB,EAC7B,MAAM,CAAC,EAAE,MAAM,GACd,IAAI,CAEN;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CACpC,OAAO,EAAE,iBAAiB,GACzB,OAAO,CAAC,qBAAqB,CAAC,CAEhC;AAED;;GAEG;AACH,wBAAsB,oBAAoB,CACxC,OAAO,EAAE,iBAAiB,GACzB,OAAO,CAAC,IAAI,CAAC,CAEf"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAKH,cAAc,SAAS,CAAC;AAKxB,cAAc,QAAQ,CAAC;AAKvB,cAAc,SAAS,CAAC;AAKxB,cAAc,cAAc,CAAC;AAK7B,cAAc,WAAW,CAAC;AAK1B,cAAc,kCAAkC,CAAC;AACjD,cAAc,sCAAsC,CAAC;AAKrD,cAAc,2BAA2B,CAAC;AAK1C,cAAc,WAAW,CAAC;AAK1B,cAAc,aAAa,CAAC;AAK5B,cAAc,UAAU,CAAC;AAKzB,cAAc,gBAAgB,CAAC;AAK/B,cAAc,eAAe,CAAC;AAK9B,cAAc,aAAa,CAAC;AAK5B,cAAc,OAAO,CAAC;AAKtB,cAAc,cAAc,CAAC;AAK7B,cAAc,SAAS,CAAC;AAKxB,cAAc,UAAU,CAAC;AAKzB,cAAc,WAAW,CAAC;AAK1B,cAAc,aAAa,CAAC;AAO5B,OAAO,KAAK,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAEtG,OAAO,KAAK,EAAE,mBAAmB,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAElG,8CAA8C;AAC9C,eAAO,MAAM,WAAW,wCAAwB,CAAC;AAEjD;;;;;GAKG;AACH,wBAAsB,kBAAkB,CACtC,OAAO,EAAE,iBAAiB,EAC1B,OAAO,EAAE,iBAAiB,GACzB,OAAO,CAAC,kBAAkB,CAAC,CAE7B;AAED;;;;GAIG;AACH,wBAAsB,cAAc,CAClC,OAAO,EAAE,iBAAiB,EAC1B,OAAO,EAAE,iBAAiB,GACzB,OAAO,CAAC,IAAI,CAAC,CAEf;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAC9B,aAAa,EAAE,aAAa,EAC5B,QAAQ,EAAE,mBAAmB,EAC7B,MAAM,CAAC,EAAE,MAAM,GACd,IAAI,CAEN;AAED;;;;;GAKG;AACH,wBAAsB,gBAAgB,CACpC,OAAO,EAAE,iBAAiB,EAC1B,OAAO,CAAC,EAAE;IAAE,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,oBAAoB,EAAE,gBAAgB,KAAK,IAAI,CAAA;CAAE,GACtF,OAAO,CAAC,qBAAqB,CAAC,CAQhC;AAED;;GAEG;AACH,wBAAsB,oBAAoB,CACxC,OAAO,EAAE,iBAAiB,GACzB,OAAO,CAAC,IAAI,CAAC,CAEf"}
package/dist/index.js CHANGED
@@ -112,6 +112,10 @@ __exportStar(require("./agents"), exports);
112
112
  // ========================================
113
113
  __exportStar(require("./presets"), exports);
114
114
  // ========================================
115
+ // 约束进化导出
116
+ // ========================================
117
+ __exportStar(require("./evolution"), exports);
118
+ // ========================================
115
119
  // 便捷 API
116
120
  // ========================================
117
121
  const checker_1 = require("./core/constraints/checker");
@@ -146,9 +150,21 @@ function registerExecutor(enforcementId, executor, source) {
146
150
  }
147
151
  /**
148
152
  * 检查约束(三层)
153
+ *
154
+ * @param context - 约束上下文
155
+ * @param options.onTrace - 每条约束检查后的回调(用于记录 trace 到外部存储)
149
156
  */
150
- async function checkConstraints(context) {
151
- return checker_1.constraintChecker.checkConstraints(context);
157
+ async function checkConstraints(context, options) {
158
+ const result = await checker_1.constraintChecker.checkConstraints(context);
159
+ if (options?.onTrace) {
160
+ for (const r of result.ironLaws)
161
+ options.onTrace(r);
162
+ for (const r of result.guidelines)
163
+ options.onTrace(r);
164
+ for (const r of result.tips)
165
+ options.onTrace(r);
166
+ }
167
+ return result;
152
168
  }
153
169
  /**
154
170
  * 执行前检查(仅 Iron Laws)
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;GAiBG;;;;;;;;;;;;;;;;;AA+GH,gDAKC;AAOD,wCAKC;AAQD,4CAMC;AAKD,4CAIC;AAKD,oDAIC;AA9JD,2CAA2C;AAC3C,OAAO;AACP,2CAA2C;AAC3C,0CAAwB;AAExB,2CAA2C;AAC3C,SAAS;AACT,2CAA2C;AAC3C,yCAAuB;AAEvB,2CAA2C;AAC3C,SAAS;AACT,2CAA2C;AAC3C,0CAAwB;AAExB,2CAA2C;AAC3C,OAAO;AACP,2CAA2C;AAC3C,+CAA6B;AAE7B,2CAA2C;AAC3C,SAAS;AACT,2CAA2C;AAC3C,4CAA0B;AAE1B,2CAA2C;AAC3C,SAAS;AACT,2CAA2C;AAC3C,mEAAiD;AACjD,uEAAqD;AAErD,2CAA2C;AAC3C,YAAY;AACZ,2CAA2C;AAC3C,4DAA0C;AAE1C,2CAA2C;AAC3C,UAAU;AACV,2CAA2C;AAC3C,4CAA0B;AAE1B,2CAA2C;AAC3C,SAAS;AACT,2CAA2C;AAC3C,8CAA4B;AAE5B,2CAA2C;AAC3C,SAAS;AACT,2CAA2C;AAC3C,2CAAyB;AAEzB,2CAA2C;AAC3C,SAAS;AACT,2CAA2C;AAC3C,iDAA+B;AAE/B,2CAA2C;AAC3C,SAAS;AACT,2CAA2C;AAC3C,gDAA8B;AAE9B,2CAA2C;AAC3C,iBAAiB;AACjB,2CAA2C;AAC3C,8CAA4B;AAE5B,2CAA2C;AAC3C,YAAY;AACZ,2CAA2C;AAC3C,wCAAsB;AAEtB,2CAA2C;AAC3C,SAAS;AACT,2CAA2C;AAC3C,+CAA6B;AAE7B,2CAA2C;AAC3C,UAAU;AACV,2CAA2C;AAC3C,0CAAwB;AAExB,2CAA2C;AAC3C,eAAe;AACf,2CAA2C;AAC3C,2CAAyB;AAEzB,2CAA2C;AAC3C,OAAO;AACP,2CAA2C;AAC3C,4CAA0B;AAE1B,2CAA2C;AAC3C,SAAS;AACT,2CAA2C;AAE3C,wDAA+D;AAE/D,gEAAuE;AAGvE,8CAA8C;AACjC,QAAA,WAAW,GAAG,mCAAqB,CAAC;AAEjD;;;;;GAKG;AACI,KAAK,UAAU,kBAAkB,CACtC,OAA0B,EAC1B,OAA0B;IAE1B,OAAO,mCAAqB,CAAC,SAAS,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;AAC3D,CAAC;AAED;;;;GAIG;AACI,KAAK,UAAU,cAAc,CAClC,OAA0B,EAC1B,OAA0B;IAE1B,OAAO,mCAAqB,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;AACvD,CAAC;AAED;;;;;GAKG;AACH,SAAgB,gBAAgB,CAC9B,aAA4B,EAC5B,QAA6B,EAC7B,MAAe;IAEf,mCAAqB,CAAC,QAAQ,CAAC,aAAa,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;AAClE,CAAC;AAED;;GAEG;AACI,KAAK,UAAU,gBAAgB,CACpC,OAA0B;IAE1B,OAAO,2BAAiB,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;AACrD,CAAC;AAED;;GAEG;AACI,KAAK,UAAU,oBAAoB,CACxC,OAA0B;IAE1B,OAAO,2BAAiB,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;AACpD,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dommaker/harness",
3
- "version": "0.10.0",
3
+ "version": "0.11.1",
4
4
  "description": "通用工程约束框架 - 铁律系统、检查点验证、测试门控、拦截器",
5
5
  "keywords": [
6
6
  "harness",
@@ -1,16 +0,0 @@
1
- /**
2
- * Diagnose CLI 命令
3
- *
4
- * 运行诊断分析异常
5
- */
6
- /**
7
- * diagnose 命令
8
- */
9
- export declare function diagnoseCommand(subcommand: string, options: {
10
- hours?: number;
11
- constraintId?: string;
12
- anomalyId?: string;
13
- format?: 'json' | 'text';
14
- save?: boolean;
15
- }): Promise<void>;
16
- //# sourceMappingURL=diagnose.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"diagnose.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/diagnose.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAUH;;GAEG;AACH,wBAAsB,eAAe,CACnC,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE;IACP,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACzB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB,GACA,OAAO,CAAC,IAAI,CAAC,CA6Bf"}
@@ -1,195 +0,0 @@
1
- "use strict";
2
- /**
3
- * Diagnose CLI 命令
4
- *
5
- * 运行诊断分析异常
6
- */
7
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
8
- if (k2 === undefined) k2 = k;
9
- var desc = Object.getOwnPropertyDescriptor(m, k);
10
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
11
- desc = { enumerable: true, get: function() { return m[k]; } };
12
- }
13
- Object.defineProperty(o, k2, desc);
14
- }) : (function(o, m, k, k2) {
15
- if (k2 === undefined) k2 = k;
16
- o[k2] = m[k];
17
- }));
18
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
19
- Object.defineProperty(o, "default", { enumerable: true, value: v });
20
- }) : function(o, v) {
21
- o["default"] = v;
22
- });
23
- var __importStar = (this && this.__importStar) || (function () {
24
- var ownKeys = function(o) {
25
- ownKeys = Object.getOwnPropertyNames || function (o) {
26
- var ar = [];
27
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
28
- return ar;
29
- };
30
- return ownKeys(o);
31
- };
32
- return function (mod) {
33
- if (mod && mod.__esModule) return mod;
34
- var result = {};
35
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
36
- __setModuleDefault(result, mod);
37
- return result;
38
- };
39
- })();
40
- Object.defineProperty(exports, "__esModule", { value: true });
41
- exports.diagnoseCommand = diagnoseCommand;
42
- const fs = __importStar(require("fs"));
43
- const path = __importStar(require("path"));
44
- const traces_1 = require("../../monitoring/traces");
45
- const trace_analyzer_1 = require("../../monitoring/trace-analyzer");
46
- const constraint_doctor_1 = require("../../monitoring/constraint-doctor");
47
- /**
48
- * diagnose 命令
49
- */
50
- async function diagnoseCommand(subcommand, options) {
51
- switch (subcommand) {
52
- case 'run':
53
- await runDiagnose(options);
54
- break;
55
- case 'show':
56
- await showDiagnose(options);
57
- break;
58
- case 'list':
59
- await listDiagnoses(options);
60
- break;
61
- default:
62
- console.log('Usage: harness diagnose <subcommand>');
63
- console.log('');
64
- console.log('Subcommands:');
65
- console.log(' run Run diagnosis on detected anomalies');
66
- console.log(' show Show a specific diagnosis result');
67
- console.log(' list List all diagnosis results');
68
- console.log('');
69
- console.log('Options:');
70
- console.log(' --hours <n> Analyze last N hours (default: 24)');
71
- console.log(' --constraint <id> Filter by constraint ID');
72
- console.log(' --anomaly <id> Show specific anomaly diagnosis');
73
- console.log(' --format <format> Output format: json or text (default: text)');
74
- console.log(' --save Save diagnosis to file');
75
- }
76
- }
77
- /**
78
- * 运行诊断
79
- */
80
- async function runDiagnose(options) {
81
- const hours = options.hours || 24;
82
- const analyzer = (0, trace_analyzer_1.createAnalyzer)();
83
- const doctor = (0, constraint_doctor_1.createDoctor)();
84
- // 1. 检测异常
85
- const anomalies = analyzer.runDailyAnomalyCheck();
86
- // 过滤特定约束
87
- let filteredAnomalies = anomalies;
88
- if (options.constraintId) {
89
- filteredAnomalies = anomalies.filter(a => a.constraintId === options.constraintId);
90
- }
91
- if (filteredAnomalies.length === 0) {
92
- console.log('✅ No anomalies detected. No diagnosis needed.');
93
- return;
94
- }
95
- console.log(`🔍 Detected ${filteredAnomalies.length} anomalies, running diagnosis...`);
96
- console.log('');
97
- // 2. 获取 traces
98
- const collector = (0, traces_1.getTraceCollector)();
99
- const traces = collector.readRecent(hours);
100
- // 3. 运行诊断
101
- const diagnoses = [];
102
- for (const anomaly of filteredAnomalies) {
103
- doctor.setData(traces.filter(t => t.constraintId === anomaly.constraintId));
104
- const diagnosis = await doctor.diagnose(anomaly);
105
- diagnoses.push(diagnosis);
106
- // 保存诊断
107
- if (options.save) {
108
- const outputPath = `.harness/diagnoses/${diagnosis.anomalyId}.json`;
109
- doctor.saveDiagnosis(diagnosis, outputPath);
110
- }
111
- }
112
- // 4. 输出结果
113
- if (options.format === 'json') {
114
- console.log(JSON.stringify(diagnoses, null, 2));
115
- }
116
- else {
117
- for (const diagnosis of diagnoses) {
118
- console.log(doctor.generateReport(diagnosis));
119
- console.log('---');
120
- }
121
- }
122
- // 5. 统计
123
- const needsChange = diagnoses.filter(d => d.needsChange).length;
124
- console.log('');
125
- console.log(`📊 Summary: ${needsChange} diagnoses need constraint changes`);
126
- }
127
- /**
128
- * 显示特定诊断
129
- */
130
- async function showDiagnose(options) {
131
- if (!options.anomalyId) {
132
- console.log('❌ Please specify --anomaly <id>');
133
- return;
134
- }
135
- const doctor = (0, constraint_doctor_1.createDoctor)();
136
- const diagnosisPath = `.harness/diagnoses/${options.anomalyId}.json`;
137
- if (!fs.existsSync(diagnosisPath)) {
138
- console.log(`❌ Diagnosis not found: ${options.anomalyId}`);
139
- return;
140
- }
141
- const diagnosis = doctor.loadDiagnosis(diagnosisPath);
142
- if (options.format === 'json') {
143
- console.log(JSON.stringify(diagnosis, null, 2));
144
- }
145
- else {
146
- console.log(doctor.generateReport(diagnosis));
147
- }
148
- }
149
- /**
150
- * 列出所有诊断
151
- */
152
- async function listDiagnoses(options) {
153
- const diagnosesDir = '.harness/diagnoses';
154
- if (!fs.existsSync(diagnosesDir)) {
155
- console.log('❌ No diagnoses found. Run `harness diagnose run` first.');
156
- return;
157
- }
158
- const files = fs.readdirSync(diagnosesDir)
159
- .filter(f => f.endsWith('.json'));
160
- if (files.length === 0) {
161
- console.log('❌ No diagnoses found.');
162
- return;
163
- }
164
- const doctor = (0, constraint_doctor_1.createDoctor)();
165
- const diagnoses = files.map(f => {
166
- const content = fs.readFileSync(path.join(diagnosesDir, f), 'utf-8');
167
- return JSON.parse(content);
168
- });
169
- if (options.format === 'json') {
170
- console.log(JSON.stringify(diagnoses.map(d => ({
171
- anomalyId: d.anomalyId,
172
- constraintId: d.constraintId,
173
- needsChange: d.needsChange,
174
- urgency: d.urgency,
175
- })), null, 2));
176
- }
177
- else {
178
- console.log('📋 Diagnosis List');
179
- console.log('');
180
- for (const diagnosis of diagnoses) {
181
- const urgencyEmoji = {
182
- low: '🟢',
183
- medium: '🟡',
184
- high: '🔴',
185
- }[diagnosis.urgency] || '⚪';
186
- console.log(`${urgencyEmoji} ${diagnosis.anomalyId}`);
187
- console.log(` Constraint: ${diagnosis.constraintId}`);
188
- console.log(` Needs Change: ${diagnosis.needsChange ? 'Yes' : 'No'}`);
189
- console.log(` Urgency: ${diagnosis.urgency}`);
190
- console.log('');
191
- }
192
- console.log(`Total: ${diagnoses.length} diagnoses`);
193
- }
194
- }
195
- //# sourceMappingURL=diagnose.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"diagnose.js","sourceRoot":"","sources":["../../../src/cli/commands/diagnose.ts"],"names":[],"mappings":"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"}
@@ -1,18 +0,0 @@
1
- /**
2
- * Propose CLI 命令
3
- *
4
- * 根据诊断生成约束提案
5
- */
6
- /**
7
- * propose 命令
8
- */
9
- export declare function proposeCommand(subcommand: string, options: {
10
- diagnosisId?: string;
11
- format?: 'json' | 'text';
12
- save?: boolean;
13
- status?: 'proposed' | 'accepted' | 'rejected';
14
- accept?: boolean;
15
- reject?: boolean;
16
- comment?: string;
17
- }): Promise<void>;
18
- //# sourceMappingURL=propose.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"propose.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/propose.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AASH;;GAEG;AACH,wBAAsB,cAAc,CAClC,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE;IACP,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACzB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,UAAU,GAAG,UAAU,GAAG,UAAU,CAAC;IAC9C,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,GACA,OAAO,CAAC,IAAI,CAAC,CAyCf"}