@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
@@ -1,331 +0,0 @@
1
- "use strict";
2
- /**
3
- * Propose 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.proposeCommand = proposeCommand;
42
- const fs = __importStar(require("fs"));
43
- const path = __importStar(require("path"));
44
- const constraint_evolver_1 = require("../../monitoring/constraint-evolver");
45
- const constraint_doctor_1 = require("../../monitoring/constraint-doctor");
46
- /**
47
- * propose 命令
48
- */
49
- async function proposeCommand(subcommand, options) {
50
- switch (subcommand) {
51
- case 'generate':
52
- await generateProposal(options);
53
- break;
54
- case 'list':
55
- await listProposals(options);
56
- break;
57
- case 'show':
58
- await showProposal(options);
59
- break;
60
- case 'review':
61
- await reviewProposal(options);
62
- break;
63
- case 'implement':
64
- await implementProposal(options);
65
- break;
66
- default:
67
- console.log('Usage: harness propose <subcommand>');
68
- console.log('');
69
- console.log('Subcommands:');
70
- console.log(' generate Generate proposals from diagnoses');
71
- console.log(' list List all proposals');
72
- console.log(' show Show a specific proposal');
73
- console.log(' review Review a proposal (accept/reject)');
74
- console.log(' implement Show implementation instructions');
75
- console.log('');
76
- console.log('Options:');
77
- console.log(' --diagnosis <id> Generate from specific diagnosis');
78
- console.log(' --status <status> Filter by status');
79
- console.log(' --accept Accept proposal (for review)');
80
- console.log(' --reject Reject proposal (for review)');
81
- console.log(' --comment <text> Review comment');
82
- console.log(' --format <format> Output format');
83
- console.log(' --save Save to file');
84
- }
85
- }
86
- /**
87
- * 生成提案
88
- */
89
- async function generateProposal(options) {
90
- const evolver = (0, constraint_evolver_1.createEvolver)();
91
- const doctor = (0, constraint_doctor_1.createDoctor)();
92
- // 加载诊断
93
- let diagnoses = [];
94
- if (options.diagnosisId) {
95
- const diagnosisPath = `.harness/diagnoses/${options.diagnosisId}.json`;
96
- if (!fs.existsSync(diagnosisPath)) {
97
- console.log(`❌ Diagnosis not found: ${options.diagnosisId}`);
98
- return;
99
- }
100
- diagnoses = [doctor.loadDiagnosis(diagnosisPath)];
101
- }
102
- else {
103
- // 加载所有诊断
104
- const diagnosesDir = '.harness/diagnoses';
105
- if (fs.existsSync(diagnosesDir)) {
106
- const files = fs.readdirSync(diagnosesDir).filter(f => f.endsWith('.json'));
107
- diagnoses = files.map(f => {
108
- const content = fs.readFileSync(path.join(diagnosesDir, f), 'utf-8');
109
- return JSON.parse(content);
110
- });
111
- }
112
- }
113
- // 过滤需要变更的诊断
114
- const needsChangeDiagnoses = diagnoses.filter(d => d.needsChange);
115
- if (needsChangeDiagnoses.length === 0) {
116
- console.log('✅ No diagnoses need constraint changes. No proposals to generate.');
117
- return;
118
- }
119
- console.log(`💡 Generating proposals from ${needsChangeDiagnoses.length} diagnoses...`);
120
- console.log('');
121
- // 生成提案
122
- const proposals = await evolver.proposeBatch(needsChangeDiagnoses);
123
- if (options.format === 'json') {
124
- console.log(JSON.stringify(proposals, null, 2));
125
- }
126
- else {
127
- for (const proposal of proposals) {
128
- printProposalSummary(proposal);
129
- console.log('---');
130
- }
131
- }
132
- // 保存
133
- if (options.save) {
134
- for (const proposal of proposals) {
135
- evolver.saveProposal(proposal);
136
- }
137
- console.log('');
138
- console.log(`💾 Saved ${proposals.length} proposals to .harness/proposals/`);
139
- }
140
- }
141
- /**
142
- * 列出提案
143
- */
144
- async function listProposals(options) {
145
- const evolver = (0, constraint_evolver_1.createEvolver)();
146
- const proposals = evolver.listProposals(options.status);
147
- if (proposals.length === 0) {
148
- console.log('❌ No proposals found.');
149
- return;
150
- }
151
- if (options.format === 'json') {
152
- console.log(JSON.stringify(proposals.map(p => ({
153
- id: p.id,
154
- constraintId: p.constraintId,
155
- type: p.type,
156
- status: p.status,
157
- risk: p.risk.level,
158
- })), null, 2));
159
- }
160
- else {
161
- console.log('📋 Proposal List');
162
- console.log('');
163
- for (const proposal of proposals) {
164
- const statusEmoji = {
165
- proposed: '💡',
166
- reviewing: '🔍',
167
- accepted: '✅',
168
- rejected: '❌',
169
- implemented: '🎉',
170
- }[proposal.status];
171
- const riskEmoji = {
172
- low: '🟢',
173
- medium: '🟡',
174
- high: '🔴',
175
- }[proposal.risk.level];
176
- console.log(`${statusEmoji} ${proposal.id}`);
177
- console.log(` Constraint: ${proposal.constraintId}`);
178
- console.log(` Type: ${proposal.type}`);
179
- console.log(` Risk: ${riskEmoji} ${proposal.risk.level}`);
180
- console.log('');
181
- }
182
- console.log(`Total: ${proposals.length} proposals`);
183
- }
184
- }
185
- /**
186
- * 显示提案详情
187
- */
188
- async function showProposal(options) {
189
- if (!options.diagnosisId) {
190
- console.log('❌ Please specify --diagnosis <id>');
191
- return;
192
- }
193
- // 尝试通过诊断 ID 找到提案
194
- const evolver = (0, constraint_evolver_1.createEvolver)();
195
- const proposals = evolver.listProposals();
196
- const proposal = proposals.find(p => p.diagnosisId === options.diagnosisId);
197
- if (!proposal) {
198
- console.log(`❌ Proposal not found for diagnosis: ${options.diagnosisId}`);
199
- return;
200
- }
201
- if (options.format === 'json') {
202
- console.log(JSON.stringify(proposal, null, 2));
203
- }
204
- else {
205
- printProposalDetail(proposal);
206
- }
207
- }
208
- /**
209
- * 审核提案
210
- */
211
- async function reviewProposal(options) {
212
- if (!options.diagnosisId) {
213
- console.log('❌ Please specify --diagnosis <id>');
214
- return;
215
- }
216
- if (!options.accept && !options.reject) {
217
- console.log('❌ Please specify --accept or --reject');
218
- return;
219
- }
220
- const evolver = (0, constraint_evolver_1.createEvolver)();
221
- const proposals = evolver.listProposals();
222
- const proposal = proposals.find(p => p.diagnosisId === options.diagnosisId);
223
- if (!proposal) {
224
- console.log(`❌ Proposal not found for diagnosis: ${options.diagnosisId}`);
225
- return;
226
- }
227
- // 更新状态
228
- const status = options.accept ? 'accepted' : 'rejected';
229
- evolver.updateProposalStatus(proposal.id, status, options.comment);
230
- console.log(`${options.accept ? '✅ Accepted' : '❌ Rejected'} proposal ${proposal.id}`);
231
- if (options.comment) {
232
- console.log(`Comment: ${options.comment}`);
233
- }
234
- }
235
- /**
236
- * 显示实施指导
237
- */
238
- async function implementProposal(options) {
239
- if (!options.diagnosisId) {
240
- console.log('❌ Please specify --diagnosis <id>');
241
- return;
242
- }
243
- const evolver = (0, constraint_evolver_1.createEvolver)();
244
- const proposals = evolver.listProposals('accepted');
245
- const proposal = proposals.find(p => p.diagnosisId === options.diagnosisId);
246
- if (!proposal) {
247
- console.log(`❌ No accepted proposal found for diagnosis: ${options.diagnosisId}`);
248
- return;
249
- }
250
- const implementation = evolver.implement(proposal);
251
- console.log('🔧 Implementation Instructions');
252
- console.log('');
253
- console.log(`Proposal: ${proposal.id}`);
254
- console.log(`Constraint: ${proposal.constraintId}`);
255
- console.log(`Type: ${proposal.type}`);
256
- console.log('');
257
- console.log('**Steps**:');
258
- for (const instruction of implementation.instructions) {
259
- console.log(`- ${instruction}`);
260
- }
261
- console.log('');
262
- console.log('**Files to Modify**:');
263
- for (const file of implementation.filesToModify) {
264
- console.log(`- ${file}`);
265
- }
266
- console.log('');
267
- console.log('**Tests to Run**:');
268
- for (const test of implementation.testsToRun) {
269
- console.log(`- ${test}`);
270
- }
271
- }
272
- /**
273
- * 打印提案摘要
274
- */
275
- function printProposalSummary(proposal) {
276
- const statusEmoji = {
277
- proposed: '💡',
278
- reviewing: '🔍',
279
- accepted: '✅',
280
- rejected: '❌',
281
- implemented: '🎉',
282
- }[proposal.status] || '❓';
283
- console.log(`${statusEmoji} Proposal: ${proposal.id}`);
284
- console.log(`Constraint: ${proposal.constraintId}`);
285
- console.log(`Type: ${proposal.type}`);
286
- console.log(`Description: ${proposal.content.description}`);
287
- console.log(`Risk: ${proposal.risk.level}`);
288
- console.log(`Expected: ${proposal.expectedOutcome}`);
289
- }
290
- /**
291
- * 打印提案详情
292
- */
293
- function printProposalDetail(proposal) {
294
- console.log(`# Proposal: ${proposal.id}`);
295
- console.log('');
296
- console.log(`- **Constraint**: ${proposal.constraintId}`);
297
- console.log(`- **Type**: ${proposal.type}`);
298
- console.log(`- **Status**: ${proposal.status}`);
299
- console.log(`- **Proposed**: ${new Date(proposal.proposedAt).toISOString()}`);
300
- console.log('');
301
- console.log(`## Content`);
302
- console.log('');
303
- console.log(`**Description**: ${proposal.content.description}`);
304
- if (proposal.content.current) {
305
- console.log(`**Current**: ${JSON.stringify(proposal.content.current)}`);
306
- }
307
- console.log(`**Proposed**: ${JSON.stringify(proposal.content.proposed)}`);
308
- console.log('');
309
- console.log(`## Reasoning`);
310
- console.log('');
311
- console.log(proposal.reasoning);
312
- console.log('');
313
- console.log(`## Expected Outcome`);
314
- console.log('');
315
- console.log(proposal.expectedOutcome);
316
- console.log('');
317
- console.log(`## Risk Assessment`);
318
- console.log('');
319
- console.log(`- **Level**: ${proposal.risk.level}`);
320
- console.log(`- **Description**: ${proposal.risk.description}`);
321
- if (proposal.risk.rollbackPlan) {
322
- console.log(`- **Rollback**: ${proposal.risk.rollbackPlan}`);
323
- }
324
- if (proposal.reviewComment) {
325
- console.log('');
326
- console.log(`## Review Comment`);
327
- console.log('');
328
- console.log(proposal.reviewComment);
329
- }
330
- }
331
- //# sourceMappingURL=propose.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"propose.js","sourceRoot":"","sources":["../../../src/cli/commands/propose.ts"],"names":[],"mappings":"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"}
@@ -1,15 +0,0 @@
1
- /**
2
- * Trace CLI 命令
3
- *
4
- * 查看和分析 Execution Traces
5
- */
6
- /**
7
- * trace 命令
8
- */
9
- export declare function tracesCommand(subcommand: string, options: {
10
- hours?: number;
11
- constraintId?: string;
12
- format?: 'json' | 'text';
13
- maxAgeDays?: number;
14
- }): Promise<void>;
15
- //# sourceMappingURL=traces.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"traces.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/traces.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAQH;;GAEG;AACH,wBAAsB,aAAa,CACjC,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE;IACP,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,GACA,OAAO,CAAC,IAAI,CAAC,CAqCf"}
@@ -1,167 +0,0 @@
1
- "use strict";
2
- /**
3
- * Trace CLI 命令
4
- *
5
- * 查看和分析 Execution Traces
6
- */
7
- Object.defineProperty(exports, "__esModule", { value: true });
8
- exports.tracesCommand = tracesCommand;
9
- const traces_1 = require("../../monitoring/traces");
10
- const trace_analyzer_1 = require("../../monitoring/trace-analyzer");
11
- /**
12
- * trace 命令
13
- */
14
- async function tracesCommand(subcommand, options) {
15
- switch (subcommand) {
16
- case 'stats':
17
- await showStats(options);
18
- break;
19
- case 'summary':
20
- await showSummary(options);
21
- break;
22
- case 'anomalies':
23
- await showAnomalies(options);
24
- break;
25
- case 'report':
26
- await generateReport(options);
27
- break;
28
- case 'clean':
29
- await cleanTraces(options);
30
- break;
31
- default:
32
- console.log('Usage: harness traces <subcommand>');
33
- console.log('');
34
- console.log('Subcommands:');
35
- console.log(' stats Show trace file statistics');
36
- console.log(' summary Show constraint summaries');
37
- console.log(' anomalies Show detected anomalies');
38
- console.log(' report Generate full report');
39
- console.log(' clean Clean old trace files');
40
- console.log('');
41
- console.log('Options:');
42
- console.log(' --hours <n> Analyze last N hours (default: 1)');
43
- console.log(' --constraint <id> Filter by constraint ID');
44
- console.log(' --format <format> Output format: json or text (default: text)');
45
- }
46
- }
47
- /**
48
- * 显示 trace 文件统计
49
- */
50
- async function showStats(options) {
51
- const collector = (0, traces_1.getTraceCollector)();
52
- const stats = collector.getStats();
53
- if (options.format === 'json') {
54
- console.log(JSON.stringify(stats, null, 2));
55
- }
56
- else {
57
- console.log('📊 Trace File Statistics');
58
- console.log('');
59
- console.log(`File: ${collector.getStats().fileExists ? '✅ exists' : '❌ not found'}`);
60
- if (stats.fileExists) {
61
- console.log(`Size: ${(stats.fileSize / 1024).toFixed(2)} KB`);
62
- console.log(`Lines: ${stats.totalLines}`);
63
- if (stats.oldestTrace) {
64
- console.log(`Oldest: ${new Date(stats.oldestTrace).toISOString()}`);
65
- }
66
- if (stats.newestTrace) {
67
- console.log(`Newest: ${new Date(stats.newestTrace).toISOString()}`);
68
- }
69
- }
70
- }
71
- }
72
- /**
73
- * 显示约束汇总
74
- */
75
- async function showSummary(options) {
76
- const hours = options.hours || 1;
77
- const analyzer = (0, trace_analyzer_1.createAnalyzer)();
78
- let summaries;
79
- if (options.constraintId) {
80
- summaries = analyzer.analyzeConstraint(options.constraintId);
81
- }
82
- else {
83
- summaries = analyzer.analyzeRecent(hours);
84
- }
85
- if (options.format === 'json') {
86
- console.log(JSON.stringify(summaries, null, 2));
87
- }
88
- else {
89
- console.log(`📈 Constraint Summaries (last ${hours}h)`);
90
- console.log('');
91
- if (summaries.length === 0) {
92
- console.log('No traces found.');
93
- return;
94
- }
95
- for (const summary of summaries) {
96
- const levelEmoji = {
97
- iron_law: '🔴',
98
- guideline: '🟡',
99
- tip: '🔵',
100
- }[summary.level];
101
- const trendEmoji = {
102
- rising: '📈',
103
- falling: '📉',
104
- stable: '➡️',
105
- }[summary.recentTrend];
106
- console.log(`${levelEmoji} ${summary.constraintId}`);
107
- console.log(` Checks: ${summary.totalChecks}`);
108
- console.log(` Pass: ${Math.round(summary.passRate * 100)}%`);
109
- console.log(` Fail: ${Math.round(summary.failRate * 100)}%`);
110
- console.log(` Bypass: ${Math.round(summary.bypassRate * 100)}%`);
111
- console.log(` Trend: ${trendEmoji} ${summary.recentTrend}`);
112
- console.log('');
113
- }
114
- }
115
- }
116
- /**
117
- * 显示异常检测结果
118
- */
119
- async function showAnomalies(options) {
120
- const hours = options.hours || 24;
121
- const analyzer = (0, trace_analyzer_1.createAnalyzer)();
122
- const anomalies = analyzer.runDailyAnomalyCheck();
123
- if (options.format === 'json') {
124
- console.log(JSON.stringify(anomalies, null, 2));
125
- }
126
- else {
127
- console.log(`⚠️ Anomalies Detected (last ${hours}h)`);
128
- console.log('');
129
- if (anomalies.length === 0) {
130
- console.log('✅ No anomalies detected.');
131
- return;
132
- }
133
- for (const anomaly of anomalies) {
134
- console.log(`⚠️ ${anomaly.type}: ${anomaly.constraintId}`);
135
- console.log(` ${anomaly.message}`);
136
- console.log(` Suggested: ${anomaly.suggestedAction}`);
137
- console.log('');
138
- }
139
- console.log(`Total: ${anomalies.length} anomalies`);
140
- }
141
- }
142
- /**
143
- * 生成完整报告
144
- */
145
- async function generateReport(options) {
146
- const hours = options.hours || 24;
147
- const analyzer = (0, trace_analyzer_1.createAnalyzer)();
148
- const summaries = analyzer.analyzeRecent(hours);
149
- const anomalies = analyzer.detectAnomalies(summaries);
150
- if (options.format === 'json') {
151
- console.log(JSON.stringify({ summaries, anomalies }, null, 2));
152
- }
153
- else {
154
- const report = analyzer.generateReport(summaries, anomalies);
155
- console.log(report);
156
- }
157
- }
158
- /**
159
- * 清理旧 trace 文件
160
- */
161
- async function cleanTraces(options) {
162
- const maxAgeDays = options.maxAgeDays || 30;
163
- const collector = (0, traces_1.getTraceCollector)();
164
- const deletedCount = collector.cleanupOldFiles(maxAgeDays);
165
- console.log(`🧹 Cleaned ${deletedCount} old trace files (older than ${maxAgeDays} days)`);
166
- }
167
- //# sourceMappingURL=traces.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"traces.js","sourceRoot":"","sources":["../../../src/cli/commands/traces.ts"],"names":[],"mappings":"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"}
@@ -1,39 +0,0 @@
1
- /**
2
- * 约束兼容入口
3
- *
4
- * 向后兼容旧 API,内部委托给 ConstraintRegistry
5
- */
6
- import { SAFETY_CONSTRAINTS } from './safety';
7
- import { QUALITY_CONSTRAINTS } from './quality';
8
- import type { Constraint, ConstraintTrigger } from '../types/constraint';
9
- import type { LayeredConstraint } from './types';
10
- /**
11
- * 获取所有约束(兼容旧 API)
12
- */
13
- export declare function getAllConstraints(): Constraint[];
14
- /**
15
- * 按触发条件查找约束(兼容旧 API)
16
- */
17
- export declare function findConstraintsByTrigger(trigger: ConstraintTrigger): Constraint[];
18
- /**
19
- * 根据 ID 获取约束(兼容旧 API)
20
- */
21
- export declare function getConstraint(id: string): Constraint | undefined;
22
- /**
23
- * 获取带分层信息的约束
24
- */
25
- export declare function getLayeredConstraint(id: string): LayeredConstraint | undefined;
26
- /**
27
- * 获取安全层约束
28
- */
29
- export declare function getSafetyConstraints(): LayeredConstraint[];
30
- /**
31
- * 获取质量层约束
32
- */
33
- export declare function getQualityConstraints(): LayeredConstraint[];
34
- export { getAllConstraints as getAllLaws };
35
- export { findConstraintsByTrigger as findLawsByTrigger };
36
- export { getConstraint as getLaw };
37
- export { SAFETY_CONSTRAINTS as IRON_LAWS };
38
- export { QUALITY_CONSTRAINTS as GUIDELINES };
39
- //# sourceMappingURL=definitions.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"definitions.d.ts","sourceRoot":"","sources":["../../src/constraints/definitions.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAC9C,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,KAAK,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACzE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAKjD;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,UAAU,EAAE,CAEhD;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,iBAAiB,GAAG,UAAU,EAAE,CAYjF;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,CAEhE;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,EAAE,EAAE,MAAM,GAAG,iBAAiB,GAAG,SAAS,CAE9E;AAED;;GAEG;AACH,wBAAgB,oBAAoB,IAAI,iBAAiB,EAAE,CAE1D;AAED;;GAEG;AACH,wBAAgB,qBAAqB,IAAI,iBAAiB,EAAE,CAE3D;AAGD,OAAO,EAAE,iBAAiB,IAAI,UAAU,EAAE,CAAC;AAC3C,OAAO,EAAE,wBAAwB,IAAI,iBAAiB,EAAE,CAAC;AACzD,OAAO,EAAE,aAAa,IAAI,MAAM,EAAE,CAAC;AAGnC,OAAO,EAAE,kBAAkB,IAAI,SAAS,EAAE,CAAC;AAC3C,OAAO,EAAE,mBAAmB,IAAI,UAAU,EAAE,CAAC"}
@@ -1,71 +0,0 @@
1
- "use strict";
2
- /**
3
- * 约束兼容入口
4
- *
5
- * 向后兼容旧 API,内部委托给 ConstraintRegistry
6
- */
7
- Object.defineProperty(exports, "__esModule", { value: true });
8
- exports.GUIDELINES = exports.IRON_LAWS = void 0;
9
- exports.getAllConstraints = getAllConstraints;
10
- exports.getAllLaws = getAllConstraints;
11
- exports.findConstraintsByTrigger = findConstraintsByTrigger;
12
- exports.findLawsByTrigger = findConstraintsByTrigger;
13
- exports.getConstraint = getConstraint;
14
- exports.getLaw = getConstraint;
15
- exports.getLayeredConstraint = getLayeredConstraint;
16
- exports.getSafetyConstraints = getSafetyConstraints;
17
- exports.getQualityConstraints = getQualityConstraints;
18
- const registry_1 = require("./registry");
19
- const safety_1 = require("./safety");
20
- Object.defineProperty(exports, "IRON_LAWS", { enumerable: true, get: function () { return safety_1.SAFETY_CONSTRAINTS; } });
21
- const quality_1 = require("./quality");
22
- Object.defineProperty(exports, "GUIDELINES", { enumerable: true, get: function () { return quality_1.QUALITY_CONSTRAINTS; } });
23
- // 全局注册表实例
24
- const registry = new registry_1.ConstraintRegistry();
25
- /**
26
- * 获取所有约束(兼容旧 API)
27
- */
28
- function getAllConstraints() {
29
- return registry.toLegacyConstraints();
30
- }
31
- /**
32
- * 按触发条件查找约束(兼容旧 API)
33
- */
34
- function findConstraintsByTrigger(trigger) {
35
- return registry.getByTrigger(trigger).map(c => ({
36
- id: c.id,
37
- rule: c.rule,
38
- message: c.message,
39
- level: c.level,
40
- trigger: c.trigger,
41
- enforcement: c.enforcement,
42
- description: c.description,
43
- enabled: c.enabled,
44
- exceptions: c.exceptions,
45
- }));
46
- }
47
- /**
48
- * 根据 ID 获取约束(兼容旧 API)
49
- */
50
- function getConstraint(id) {
51
- return registry.get(id);
52
- }
53
- /**
54
- * 获取带分层信息的约束
55
- */
56
- function getLayeredConstraint(id) {
57
- return registry.get(id);
58
- }
59
- /**
60
- * 获取安全层约束
61
- */
62
- function getSafetyConstraints() {
63
- return registry.getByLayer('safety');
64
- }
65
- /**
66
- * 获取质量层约束
67
- */
68
- function getQualityConstraints() {
69
- return registry.getByLayer('quality');
70
- }
71
- //# sourceMappingURL=definitions.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"definitions.js","sourceRoot":"","sources":["../../src/constraints/definitions.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAcH,8CAEC;AAgD6B,uCAAU;AA3CxC,4DAYC;AAgCoC,qDAAiB;AA3BtD,sCAEC;AA0ByB,+BAAM;AArBhC,oDAEC;AAKD,oDAEC;AAKD,sDAEC;AA3DD,yCAAgD;AAChD,qCAA8C;AAkEf,0FAlEtB,2BAAkB,OAkEa;AAjExC,uCAAgD;AAkEhB,2FAlEvB,6BAAmB,OAkEc;AA9D1C,UAAU;AACV,MAAM,QAAQ,GAAG,IAAI,6BAAkB,EAAE,CAAC;AAE1C;;GAEG;AACH,SAAgB,iBAAiB;IAC/B,OAAO,QAAQ,CAAC,mBAAmB,EAAE,CAAC;AACxC,CAAC;AAED;;GAEG;AACH,SAAgB,wBAAwB,CAAC,OAA0B;IACjE,OAAO,QAAQ,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAC9C,EAAE,EAAE,CAAC,CAAC,EAAE;QACR,IAAI,EAAE,CAAC,CAAC,IAAI;QACZ,OAAO,EAAE,CAAC,CAAC,OAAO;QAClB,KAAK,EAAE,CAAC,CAAC,KAAK;QACd,OAAO,EAAE,CAAC,CAAC,OAAO;QAClB,WAAW,EAAE,CAAC,CAAC,WAAW;QAC1B,WAAW,EAAE,CAAC,CAAC,WAAW;QAC1B,OAAO,EAAE,CAAC,CAAC,OAAO;QAClB,UAAU,EAAE,CAAC,CAAC,UAAU;KACzB,CAAC,CAAC,CAAC;AACN,CAAC;AAED;;GAEG;AACH,SAAgB,aAAa,CAAC,EAAU;IACtC,OAAO,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AAC1B,CAAC;AAED;;GAEG;AACH,SAAgB,oBAAoB,CAAC,EAAU;IAC7C,OAAO,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AAC1B,CAAC;AAED;;GAEG;AACH,SAAgB,oBAAoB;IAClC,OAAO,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;AACvC,CAAC;AAED;;GAEG;AACH,SAAgB,qBAAqB;IACnC,OAAO,QAAQ,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;AACxC,CAAC"}