@dommaker/harness 0.7.9 → 0.8.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 +149 -217
- package/bin/harness.js +122 -85
- package/dist/cli/commands/acceptance.d.ts +26 -0
- package/dist/cli/commands/acceptance.d.ts.map +1 -0
- package/dist/cli/commands/acceptance.js +130 -0
- package/dist/cli/commands/acceptance.js.map +1 -0
- package/dist/cli/commands/check.js +3 -3
- package/dist/cli/commands/check.js.map +1 -1
- package/dist/cli/commands/contract.d.ts +24 -0
- package/dist/cli/commands/contract.d.ts.map +1 -0
- package/dist/cli/commands/contract.js +182 -0
- package/dist/cli/commands/contract.js.map +1 -0
- package/dist/cli/commands/index.d.ts +5 -3
- package/dist/cli/commands/index.d.ts.map +1 -1
- package/dist/cli/commands/index.js +15 -7
- package/dist/cli/commands/index.js.map +1 -1
- package/dist/cli/commands/init.js +9 -0
- package/dist/cli/commands/init.js.map +1 -1
- package/dist/cli/commands/performance.d.ts +26 -0
- package/dist/cli/commands/performance.d.ts.map +1 -0
- package/dist/cli/commands/performance.js +86 -0
- package/dist/cli/commands/performance.js.map +1 -0
- package/dist/cli/commands/review.d.ts +26 -0
- package/dist/cli/commands/review.d.ts.map +1 -0
- package/dist/cli/commands/review.js +137 -0
- package/dist/cli/commands/review.js.map +1 -0
- package/dist/cli/commands/security.d.ts +26 -0
- package/dist/cli/commands/security.d.ts.map +1 -0
- package/dist/cli/commands/security.js +147 -0
- package/dist/cli/commands/security.js.map +1 -0
- package/dist/cli/commands/status.d.ts.map +1 -1
- package/dist/cli/commands/status.js +4 -5
- package/dist/cli/commands/status.js.map +1 -1
- package/dist/core/constraints/definitions.d.ts.map +1 -1
- package/dist/core/constraints/definitions.js +71 -0
- package/dist/core/constraints/definitions.js.map +1 -1
- package/dist/gates/command.d.ts +85 -0
- package/dist/gates/command.d.ts.map +1 -0
- package/dist/gates/command.js +392 -0
- package/dist/gates/command.js.map +1 -0
- package/dist/gates/index.d.ts +2 -1
- package/dist/gates/index.d.ts.map +1 -1
- package/dist/gates/index.js +9 -1
- package/dist/gates/index.js.map +1 -1
- package/dist/gates/types.d.ts +23 -0
- package/dist/gates/types.d.ts.map +1 -1
- 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/package.json +1 -1
|
@@ -0,0 +1,392 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* 命令门禁 - Command Gate
|
|
4
|
+
* SEC-006: 命令黑名单
|
|
5
|
+
*
|
|
6
|
+
* 检查命令是否安全,防止执行危险操作
|
|
7
|
+
*/
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.CommandGate = exports.DEFAULT_COMMAND_BLACKLIST = void 0;
|
|
10
|
+
exports.createCommandGate = createCommandGate;
|
|
11
|
+
exports.getCommandGate = getCommandGate;
|
|
12
|
+
exports.isCommandAllowed = isCommandAllowed;
|
|
13
|
+
exports.getCommandRiskLevel = getCommandRiskLevel;
|
|
14
|
+
/**
|
|
15
|
+
* 默认黑名单规则
|
|
16
|
+
*
|
|
17
|
+
* 级别说明:
|
|
18
|
+
* - block: 禁止执行,直接拒绝
|
|
19
|
+
* - warn: 允许执行,但记录警告
|
|
20
|
+
* - audit: 允许执行,但记录审计日志
|
|
21
|
+
*/
|
|
22
|
+
exports.DEFAULT_COMMAND_BLACKLIST = [
|
|
23
|
+
// ========== 系统级破坏命令 ==========
|
|
24
|
+
{
|
|
25
|
+
id: 'rm-rf-root',
|
|
26
|
+
pattern: /\brm\s+(-[rf]+\s+)*\/\s*$/i,
|
|
27
|
+
level: 'block',
|
|
28
|
+
message: '禁止删除根目录',
|
|
29
|
+
category: 'system',
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
id: 'rm-rf-star',
|
|
33
|
+
pattern: /\brm\s+(-[rf]+\s+)*\*+/i,
|
|
34
|
+
level: 'block',
|
|
35
|
+
message: '禁止通配符删除',
|
|
36
|
+
category: 'system',
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
id: 'rm-rf-home',
|
|
40
|
+
pattern: /\brm\s+(-[rf]+\s+)*(~|\/home)/i,
|
|
41
|
+
level: 'block',
|
|
42
|
+
message: '禁止删除用户目录',
|
|
43
|
+
category: 'system',
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
id: 'rm-rf-project',
|
|
47
|
+
pattern: /\brm\s+(-[rf]+\s+)*\.\s*$/i,
|
|
48
|
+
level: 'block',
|
|
49
|
+
message: '禁止删除当前目录',
|
|
50
|
+
category: 'system',
|
|
51
|
+
},
|
|
52
|
+
// ========== 权限相关 ==========
|
|
53
|
+
{
|
|
54
|
+
id: 'chmod-777',
|
|
55
|
+
pattern: /\bchmod\s+(-R\s+)?777\b/i,
|
|
56
|
+
level: 'block',
|
|
57
|
+
message: '禁止设置 777 权限',
|
|
58
|
+
category: 'permission',
|
|
59
|
+
},
|
|
60
|
+
{
|
|
61
|
+
id: 'chown-root',
|
|
62
|
+
pattern: /\bchown\s+(-R\s+)?root\b/i,
|
|
63
|
+
level: 'warn',
|
|
64
|
+
message: '谨慎修改所有者为 root',
|
|
65
|
+
category: 'permission',
|
|
66
|
+
},
|
|
67
|
+
// ========== 数据库危险命令 ==========
|
|
68
|
+
{
|
|
69
|
+
id: 'drop-database',
|
|
70
|
+
pattern: /\bDROP\s+(DATABASE|SCHEMA)\b/i,
|
|
71
|
+
level: 'block',
|
|
72
|
+
message: '禁止删除数据库/Schema',
|
|
73
|
+
category: 'database',
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
id: 'drop-table',
|
|
77
|
+
pattern: /\bDROP\s+TABLE\b/i,
|
|
78
|
+
level: 'warn',
|
|
79
|
+
message: '删除表操作需要确认',
|
|
80
|
+
category: 'database',
|
|
81
|
+
},
|
|
82
|
+
{
|
|
83
|
+
id: 'truncate-table',
|
|
84
|
+
pattern: /\bTRUNCATE\s+TABLE?\b/i,
|
|
85
|
+
level: 'warn',
|
|
86
|
+
message: '清空表操作需要确认',
|
|
87
|
+
category: 'database',
|
|
88
|
+
},
|
|
89
|
+
{
|
|
90
|
+
id: 'delete-all',
|
|
91
|
+
pattern: /\bDELETE\s+FROM\b(?!.*\bWHERE\b)/i,
|
|
92
|
+
level: 'block',
|
|
93
|
+
message: '禁止无条件删除',
|
|
94
|
+
category: 'database',
|
|
95
|
+
},
|
|
96
|
+
// ========== 网络相关 ==========
|
|
97
|
+
{
|
|
98
|
+
id: 'iptables-flush',
|
|
99
|
+
pattern: /\biptables\s+(-F|--flush)\b/i,
|
|
100
|
+
level: 'block',
|
|
101
|
+
message: '禁止清空防火墙规则',
|
|
102
|
+
category: 'network',
|
|
103
|
+
},
|
|
104
|
+
{
|
|
105
|
+
id: 'curl-bash',
|
|
106
|
+
pattern: /\bcurl\b.*\|\s*(sudo\s+)?bash\b/i,
|
|
107
|
+
level: 'block',
|
|
108
|
+
message: '禁止从网络直接执行脚本',
|
|
109
|
+
category: 'network',
|
|
110
|
+
},
|
|
111
|
+
{
|
|
112
|
+
id: 'wget-bash',
|
|
113
|
+
pattern: /\bwget\b.*\|\s*(sudo\s+)?bash\b/i,
|
|
114
|
+
level: 'block',
|
|
115
|
+
message: '禁止从网络直接执行脚本',
|
|
116
|
+
category: 'network',
|
|
117
|
+
},
|
|
118
|
+
// ========== 特权命令 ==========
|
|
119
|
+
{
|
|
120
|
+
id: 'sudo-rm',
|
|
121
|
+
pattern: /\bsudo\s+.*\brm\s+/i,
|
|
122
|
+
level: 'block',
|
|
123
|
+
message: '禁止 sudo rm',
|
|
124
|
+
category: 'privilege',
|
|
125
|
+
},
|
|
126
|
+
{
|
|
127
|
+
id: 'sudo-dd',
|
|
128
|
+
pattern: /\bsudo\s+.*\bdd\b/i,
|
|
129
|
+
level: 'block',
|
|
130
|
+
message: '禁止 sudo dd',
|
|
131
|
+
category: 'privilege',
|
|
132
|
+
},
|
|
133
|
+
{
|
|
134
|
+
id: 'sudo-fdisk',
|
|
135
|
+
pattern: /\bsudo\s+.*\b(fdisk|parted)\b/i,
|
|
136
|
+
level: 'block',
|
|
137
|
+
message: '禁止 sudo 磁盘分区操作',
|
|
138
|
+
category: 'privilege',
|
|
139
|
+
},
|
|
140
|
+
// ========== 敏感文件 ==========
|
|
141
|
+
{
|
|
142
|
+
id: 'read-ssh-key',
|
|
143
|
+
pattern: /\bcat\s+.*\/\.ssh\/(id_rsa|id_ed25519)/i,
|
|
144
|
+
level: 'audit',
|
|
145
|
+
message: '读取 SSH 私钥',
|
|
146
|
+
category: 'sensitive',
|
|
147
|
+
},
|
|
148
|
+
{
|
|
149
|
+
id: 'read-env',
|
|
150
|
+
pattern: /\bcat\s+.*\.env\b/i,
|
|
151
|
+
level: 'audit',
|
|
152
|
+
message: '读取 .env 文件',
|
|
153
|
+
category: 'sensitive',
|
|
154
|
+
},
|
|
155
|
+
// ========== 进程管理 ==========
|
|
156
|
+
{
|
|
157
|
+
id: 'kill-all',
|
|
158
|
+
pattern: /\bkill\s+(-9\s+)?-1\b/i,
|
|
159
|
+
level: 'block',
|
|
160
|
+
message: '禁止杀死所有进程',
|
|
161
|
+
category: 'process',
|
|
162
|
+
},
|
|
163
|
+
{
|
|
164
|
+
id: 'killall',
|
|
165
|
+
pattern: /\bkillall\s+/i,
|
|
166
|
+
level: 'warn',
|
|
167
|
+
message: '批量杀死进程需要确认',
|
|
168
|
+
category: 'process',
|
|
169
|
+
},
|
|
170
|
+
// ========== 包管理 ==========
|
|
171
|
+
{
|
|
172
|
+
id: 'npm-uninstall-global',
|
|
173
|
+
pattern: /\bnpm\s+(uninstall|remove)\s+(-g|--global)\b/i,
|
|
174
|
+
level: 'warn',
|
|
175
|
+
message: '卸载全局包需要确认',
|
|
176
|
+
category: 'package',
|
|
177
|
+
},
|
|
178
|
+
{
|
|
179
|
+
id: 'pip-uninstall',
|
|
180
|
+
pattern: /\bpip\s+uninstall\s+/i,
|
|
181
|
+
level: 'warn',
|
|
182
|
+
message: '卸载 Python 包需要确认',
|
|
183
|
+
category: 'package',
|
|
184
|
+
},
|
|
185
|
+
];
|
|
186
|
+
/**
|
|
187
|
+
* 命令门禁
|
|
188
|
+
*/
|
|
189
|
+
class CommandGate {
|
|
190
|
+
config;
|
|
191
|
+
blacklist;
|
|
192
|
+
constructor(config = {}) {
|
|
193
|
+
this.config = {
|
|
194
|
+
enabled: config.enabled ?? true,
|
|
195
|
+
strict: config.strict ?? false,
|
|
196
|
+
customBlacklist: config.customBlacklist ?? [],
|
|
197
|
+
ignoreCategories: config.ignoreCategories ?? [],
|
|
198
|
+
};
|
|
199
|
+
// 合并默认黑名单和自定义黑名单
|
|
200
|
+
this.blacklist = [
|
|
201
|
+
...exports.DEFAULT_COMMAND_BLACKLIST,
|
|
202
|
+
...this.config.customBlacklist,
|
|
203
|
+
];
|
|
204
|
+
}
|
|
205
|
+
/**
|
|
206
|
+
* 检查命令
|
|
207
|
+
*/
|
|
208
|
+
async check(command) {
|
|
209
|
+
const startTime = Date.now();
|
|
210
|
+
if (!this.config.enabled) {
|
|
211
|
+
return {
|
|
212
|
+
gate: 'command',
|
|
213
|
+
passed: true,
|
|
214
|
+
message: '命令门禁已禁用',
|
|
215
|
+
timestamp: new Date().toISOString(),
|
|
216
|
+
duration: Date.now() - startTime,
|
|
217
|
+
};
|
|
218
|
+
}
|
|
219
|
+
const result = this.checkBlacklist(command);
|
|
220
|
+
return {
|
|
221
|
+
gate: 'command',
|
|
222
|
+
passed: result.allowed,
|
|
223
|
+
message: result.allowed
|
|
224
|
+
? this.formatSuccessMessage(result)
|
|
225
|
+
: this.formatBlockMessage(result),
|
|
226
|
+
details: {
|
|
227
|
+
blocked: result.blocked,
|
|
228
|
+
warnings: result.warnings,
|
|
229
|
+
audits: result.audits,
|
|
230
|
+
command,
|
|
231
|
+
},
|
|
232
|
+
timestamp: new Date().toISOString(),
|
|
233
|
+
duration: Date.now() - startTime,
|
|
234
|
+
};
|
|
235
|
+
}
|
|
236
|
+
/**
|
|
237
|
+
* 检查黑名单
|
|
238
|
+
*/
|
|
239
|
+
checkBlacklist(command) {
|
|
240
|
+
const blocked = [];
|
|
241
|
+
const warnings = [];
|
|
242
|
+
const audits = [];
|
|
243
|
+
for (const rule of this.blacklist) {
|
|
244
|
+
// 跳过忽略的类别
|
|
245
|
+
if (this.config.ignoreCategories.includes(rule.category)) {
|
|
246
|
+
continue;
|
|
247
|
+
}
|
|
248
|
+
if (rule.pattern.test(command)) {
|
|
249
|
+
switch (rule.level) {
|
|
250
|
+
case 'block':
|
|
251
|
+
blocked.push(rule);
|
|
252
|
+
break;
|
|
253
|
+
case 'warn':
|
|
254
|
+
warnings.push(rule);
|
|
255
|
+
break;
|
|
256
|
+
case 'audit':
|
|
257
|
+
audits.push(rule);
|
|
258
|
+
break;
|
|
259
|
+
}
|
|
260
|
+
}
|
|
261
|
+
}
|
|
262
|
+
return {
|
|
263
|
+
allowed: blocked.length === 0,
|
|
264
|
+
blocked,
|
|
265
|
+
warnings,
|
|
266
|
+
audits,
|
|
267
|
+
};
|
|
268
|
+
}
|
|
269
|
+
/**
|
|
270
|
+
* 格式化成功消息
|
|
271
|
+
*/
|
|
272
|
+
formatSuccessMessage(result) {
|
|
273
|
+
const parts = ['命令检查通过'];
|
|
274
|
+
if (result.warnings.length > 0) {
|
|
275
|
+
parts.push(`,${result.warnings.length} 个警告`);
|
|
276
|
+
}
|
|
277
|
+
if (result.audits.length > 0) {
|
|
278
|
+
parts.push(`,${result.audits.length} 个审计记录`);
|
|
279
|
+
}
|
|
280
|
+
return parts.join('');
|
|
281
|
+
}
|
|
282
|
+
/**
|
|
283
|
+
* 格式化阻止消息
|
|
284
|
+
*/
|
|
285
|
+
formatBlockMessage(result) {
|
|
286
|
+
const lines = [];
|
|
287
|
+
lines.push('命令被禁止执行:');
|
|
288
|
+
for (const rule of result.blocked) {
|
|
289
|
+
lines.push(` - [${rule.id}] ${rule.message} (${rule.category})`);
|
|
290
|
+
}
|
|
291
|
+
return lines.join('\n');
|
|
292
|
+
}
|
|
293
|
+
/**
|
|
294
|
+
* 快速检查(不生成完整 GateResult)
|
|
295
|
+
*/
|
|
296
|
+
isAllowed(command) {
|
|
297
|
+
if (!this.config.enabled)
|
|
298
|
+
return true;
|
|
299
|
+
for (const rule of this.blacklist) {
|
|
300
|
+
if (this.config.ignoreCategories.includes(rule.category)) {
|
|
301
|
+
continue;
|
|
302
|
+
}
|
|
303
|
+
if (rule.level === 'block' && rule.pattern.test(command)) {
|
|
304
|
+
return false;
|
|
305
|
+
}
|
|
306
|
+
}
|
|
307
|
+
return true;
|
|
308
|
+
}
|
|
309
|
+
/**
|
|
310
|
+
* 获取命令风险等级
|
|
311
|
+
*/
|
|
312
|
+
getRiskLevel(command) {
|
|
313
|
+
if (!this.config.enabled)
|
|
314
|
+
return 'low';
|
|
315
|
+
for (const rule of this.blacklist) {
|
|
316
|
+
if (this.config.ignoreCategories.includes(rule.category)) {
|
|
317
|
+
continue;
|
|
318
|
+
}
|
|
319
|
+
if (rule.pattern.test(command)) {
|
|
320
|
+
switch (rule.level) {
|
|
321
|
+
case 'block': return 'high';
|
|
322
|
+
case 'warn': return 'medium';
|
|
323
|
+
case 'audit': return 'low';
|
|
324
|
+
}
|
|
325
|
+
}
|
|
326
|
+
}
|
|
327
|
+
return 'low';
|
|
328
|
+
}
|
|
329
|
+
/**
|
|
330
|
+
* 获取黑名单规则
|
|
331
|
+
*/
|
|
332
|
+
getBlacklist() {
|
|
333
|
+
return [...this.blacklist];
|
|
334
|
+
}
|
|
335
|
+
/**
|
|
336
|
+
* 添加自定义规则
|
|
337
|
+
*/
|
|
338
|
+
addRule(rule) {
|
|
339
|
+
this.blacklist.push(rule);
|
|
340
|
+
}
|
|
341
|
+
/**
|
|
342
|
+
* 移除规则
|
|
343
|
+
*/
|
|
344
|
+
removeRule(id) {
|
|
345
|
+
const index = this.blacklist.findIndex(r => r.id === id);
|
|
346
|
+
if (index >= 0) {
|
|
347
|
+
this.blacklist.splice(index, 1);
|
|
348
|
+
return true;
|
|
349
|
+
}
|
|
350
|
+
return false;
|
|
351
|
+
}
|
|
352
|
+
/**
|
|
353
|
+
* 获取配置
|
|
354
|
+
*/
|
|
355
|
+
getConfig() {
|
|
356
|
+
return { ...this.config };
|
|
357
|
+
}
|
|
358
|
+
}
|
|
359
|
+
exports.CommandGate = CommandGate;
|
|
360
|
+
// ========== 便捷函数 ==========
|
|
361
|
+
/**
|
|
362
|
+
* 创建命令门禁
|
|
363
|
+
*/
|
|
364
|
+
function createCommandGate(config) {
|
|
365
|
+
return new CommandGate(config);
|
|
366
|
+
}
|
|
367
|
+
/**
|
|
368
|
+
* 默认实例
|
|
369
|
+
*/
|
|
370
|
+
let defaultCommandGate = null;
|
|
371
|
+
/**
|
|
372
|
+
* 获取默认命令门禁
|
|
373
|
+
*/
|
|
374
|
+
function getCommandGate() {
|
|
375
|
+
if (!defaultCommandGate) {
|
|
376
|
+
defaultCommandGate = new CommandGate();
|
|
377
|
+
}
|
|
378
|
+
return defaultCommandGate;
|
|
379
|
+
}
|
|
380
|
+
/**
|
|
381
|
+
* 快速检查命令是否允许
|
|
382
|
+
*/
|
|
383
|
+
function isCommandAllowed(command) {
|
|
384
|
+
return getCommandGate().isAllowed(command);
|
|
385
|
+
}
|
|
386
|
+
/**
|
|
387
|
+
* 快速获取命令风险等级
|
|
388
|
+
*/
|
|
389
|
+
function getCommandRiskLevel(command) {
|
|
390
|
+
return getCommandGate().getRiskLevel(command);
|
|
391
|
+
}
|
|
392
|
+
//# sourceMappingURL=command.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"command.js","sourceRoot":"","sources":["../../src/gates/command.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAuZH,8CAEC;AAUD,wCAKC;AAKD,4CAEC;AAKD,kDAEC;AA7aD;;;;;;;GAOG;AACU,QAAA,yBAAyB,GAA2B;IAC/D,gCAAgC;IAChC;QACE,EAAE,EAAE,YAAY;QAChB,OAAO,EAAE,4BAA4B;QACrC,KAAK,EAAE,OAAO;QACd,OAAO,EAAE,SAAS;QAClB,QAAQ,EAAE,QAAQ;KACnB;IACD;QACE,EAAE,EAAE,YAAY;QAChB,OAAO,EAAE,yBAAyB;QAClC,KAAK,EAAE,OAAO;QACd,OAAO,EAAE,SAAS;QAClB,QAAQ,EAAE,QAAQ;KACnB;IACD;QACE,EAAE,EAAE,YAAY;QAChB,OAAO,EAAE,gCAAgC;QACzC,KAAK,EAAE,OAAO;QACd,OAAO,EAAE,UAAU;QACnB,QAAQ,EAAE,QAAQ;KACnB;IACD;QACE,EAAE,EAAE,eAAe;QACnB,OAAO,EAAE,4BAA4B;QACrC,KAAK,EAAE,OAAO;QACd,OAAO,EAAE,UAAU;QACnB,QAAQ,EAAE,QAAQ;KACnB;IAED,6BAA6B;IAC7B;QACE,EAAE,EAAE,WAAW;QACf,OAAO,EAAE,0BAA0B;QACnC,KAAK,EAAE,OAAO;QACd,OAAO,EAAE,aAAa;QACtB,QAAQ,EAAE,YAAY;KACvB;IACD;QACE,EAAE,EAAE,YAAY;QAChB,OAAO,EAAE,2BAA2B;QACpC,KAAK,EAAE,MAAM;QACb,OAAO,EAAE,eAAe;QACxB,QAAQ,EAAE,YAAY;KACvB;IAED,gCAAgC;IAChC;QACE,EAAE,EAAE,eAAe;QACnB,OAAO,EAAE,+BAA+B;QACxC,KAAK,EAAE,OAAO;QACd,OAAO,EAAE,gBAAgB;QACzB,QAAQ,EAAE,UAAU;KACrB;IACD;QACE,EAAE,EAAE,YAAY;QAChB,OAAO,EAAE,mBAAmB;QAC5B,KAAK,EAAE,MAAM;QACb,OAAO,EAAE,WAAW;QACpB,QAAQ,EAAE,UAAU;KACrB;IACD;QACE,EAAE,EAAE,gBAAgB;QACpB,OAAO,EAAE,wBAAwB;QACjC,KAAK,EAAE,MAAM;QACb,OAAO,EAAE,WAAW;QACpB,QAAQ,EAAE,UAAU;KACrB;IACD;QACE,EAAE,EAAE,YAAY;QAChB,OAAO,EAAE,mCAAmC;QAC5C,KAAK,EAAE,OAAO;QACd,OAAO,EAAE,SAAS;QAClB,QAAQ,EAAE,UAAU;KACrB;IAED,6BAA6B;IAC7B;QACE,EAAE,EAAE,gBAAgB;QACpB,OAAO,EAAE,8BAA8B;QACvC,KAAK,EAAE,OAAO;QACd,OAAO,EAAE,WAAW;QACpB,QAAQ,EAAE,SAAS;KACpB;IACD;QACE,EAAE,EAAE,WAAW;QACf,OAAO,EAAE,kCAAkC;QAC3C,KAAK,EAAE,OAAO;QACd,OAAO,EAAE,aAAa;QACtB,QAAQ,EAAE,SAAS;KACpB;IACD;QACE,EAAE,EAAE,WAAW;QACf,OAAO,EAAE,kCAAkC;QAC3C,KAAK,EAAE,OAAO;QACd,OAAO,EAAE,aAAa;QACtB,QAAQ,EAAE,SAAS;KACpB;IAED,6BAA6B;IAC7B;QACE,EAAE,EAAE,SAAS;QACb,OAAO,EAAE,qBAAqB;QAC9B,KAAK,EAAE,OAAO;QACd,OAAO,EAAE,YAAY;QACrB,QAAQ,EAAE,WAAW;KACtB;IACD;QACE,EAAE,EAAE,SAAS;QACb,OAAO,EAAE,oBAAoB;QAC7B,KAAK,EAAE,OAAO;QACd,OAAO,EAAE,YAAY;QACrB,QAAQ,EAAE,WAAW;KACtB;IACD;QACE,EAAE,EAAE,YAAY;QAChB,OAAO,EAAE,gCAAgC;QACzC,KAAK,EAAE,OAAO;QACd,OAAO,EAAE,gBAAgB;QACzB,QAAQ,EAAE,WAAW;KACtB;IAED,6BAA6B;IAC7B;QACE,EAAE,EAAE,cAAc;QAClB,OAAO,EAAE,yCAAyC;QAClD,KAAK,EAAE,OAAO;QACd,OAAO,EAAE,WAAW;QACpB,QAAQ,EAAE,WAAW;KACtB;IACD;QACE,EAAE,EAAE,UAAU;QACd,OAAO,EAAE,oBAAoB;QAC7B,KAAK,EAAE,OAAO;QACd,OAAO,EAAE,YAAY;QACrB,QAAQ,EAAE,WAAW;KACtB;IAED,6BAA6B;IAC7B;QACE,EAAE,EAAE,UAAU;QACd,OAAO,EAAE,wBAAwB;QACjC,KAAK,EAAE,OAAO;QACd,OAAO,EAAE,UAAU;QACnB,QAAQ,EAAE,SAAS;KACpB;IACD;QACE,EAAE,EAAE,SAAS;QACb,OAAO,EAAE,eAAe;QACxB,KAAK,EAAE,MAAM;QACb,OAAO,EAAE,YAAY;QACrB,QAAQ,EAAE,SAAS;KACpB;IAED,4BAA4B;IAC5B;QACE,EAAE,EAAE,sBAAsB;QAC1B,OAAO,EAAE,+CAA+C;QACxD,KAAK,EAAE,MAAM;QACb,OAAO,EAAE,WAAW;QACpB,QAAQ,EAAE,SAAS;KACpB;IACD;QACE,EAAE,EAAE,eAAe;QACnB,OAAO,EAAE,uBAAuB;QAChC,KAAK,EAAE,MAAM;QACb,OAAO,EAAE,iBAAiB;QAC1B,QAAQ,EAAE,SAAS;KACpB;CACF,CAAC;AAEF;;GAEG;AACH,MAAa,WAAW;IACd,MAAM,CAA8B;IACpC,SAAS,CAAyB;IAE1C,YAAY,SAAqC,EAAE;QACjD,IAAI,CAAC,MAAM,GAAG;YACZ,OAAO,EAAE,MAAM,CAAC,OAAO,IAAI,IAAI;YAC/B,MAAM,EAAE,MAAM,CAAC,MAAM,IAAI,KAAK;YAC9B,eAAe,EAAE,MAAM,CAAC,eAAe,IAAI,EAAE;YAC7C,gBAAgB,EAAE,MAAM,CAAC,gBAAgB,IAAI,EAAE;SAChD,CAAC;QAEF,iBAAiB;QACjB,IAAI,CAAC,SAAS,GAAG;YACf,GAAG,iCAAyB;YAC5B,GAAG,IAAI,CAAC,MAAM,CAAC,eAAe;SAC/B,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,KAAK,CAAC,OAAe;QACzB,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAE7B,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACzB,OAAO;gBACL,IAAI,EAAE,SAAS;gBACf,MAAM,EAAE,IAAI;gBACZ,OAAO,EAAE,SAAS;gBAClB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;gBACnC,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;aACjC,CAAC;QACJ,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QAE5C,OAAO;YACL,IAAI,EAAE,SAAS;YACf,MAAM,EAAE,MAAM,CAAC,OAAO;YACtB,OAAO,EAAE,MAAM,CAAC,OAAO;gBACrB,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC;gBACnC,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC;YACnC,OAAO,EAAE;gBACP,OAAO,EAAE,MAAM,CAAC,OAAO;gBACvB,QAAQ,EAAE,MAAM,CAAC,QAAQ;gBACzB,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,OAAO;aACR;YACD,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACnC,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;SACjC,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,cAAc,CAAC,OAAe;QAMpC,MAAM,OAAO,GAA2B,EAAE,CAAC;QAC3C,MAAM,QAAQ,GAA2B,EAAE,CAAC;QAC5C,MAAM,MAAM,GAA2B,EAAE,CAAC;QAE1C,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YAClC,UAAU;YACV,IAAI,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACzD,SAAS;YACX,CAAC;YAED,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC/B,QAAQ,IAAI,CAAC,KAAK,EAAE,CAAC;oBACnB,KAAK,OAAO;wBACV,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;wBACnB,MAAM;oBACR,KAAK,MAAM;wBACT,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;wBACpB,MAAM;oBACR,KAAK,OAAO;wBACV,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;wBAClB,MAAM;gBACV,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO;YACL,OAAO,EAAE,OAAO,CAAC,MAAM,KAAK,CAAC;YAC7B,OAAO;YACP,QAAQ;YACR,MAAM;SACP,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,oBAAoB,CAAC,MAG5B;QACC,MAAM,KAAK,GAAa,CAAC,QAAQ,CAAC,CAAC;QAEnC,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC/B,KAAK,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,MAAM,CAAC,CAAC;QAC/C,CAAC;QAED,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC7B,KAAK,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,QAAQ,CAAC,CAAC;QAC/C,CAAC;QAED,OAAO,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACxB,CAAC;IAED;;OAEG;IACK,kBAAkB,CAAC,MAI1B;QACC,MAAM,KAAK,GAAa,EAAE,CAAC;QAE3B,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACvB,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YAClC,KAAK,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,EAAE,KAAK,IAAI,CAAC,OAAO,KAAK,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC;QACpE,CAAC;QAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAED;;OAEG;IACH,SAAS,CAAC,OAAe;QACvB,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO;YAAE,OAAO,IAAI,CAAC;QAEtC,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YAClC,IAAI,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACzD,SAAS;YACX,CAAC;YAED,IAAI,IAAI,CAAC,KAAK,KAAK,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;gBACzD,OAAO,KAAK,CAAC;YACf,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACH,YAAY,CAAC,OAAe;QAC1B,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO;YAAE,OAAO,KAAK,CAAC;QAEvC,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YAClC,IAAI,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACzD,SAAS;YACX,CAAC;YAED,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC/B,QAAQ,IAAI,CAAC,KAAK,EAAE,CAAC;oBACnB,KAAK,OAAO,CAAC,CAAC,OAAO,MAAM,CAAC;oBAC5B,KAAK,MAAM,CAAC,CAAC,OAAO,QAAQ,CAAC;oBAC7B,KAAK,OAAO,CAAC,CAAC,OAAO,KAAK,CAAC;gBAC7B,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;OAEG;IACH,YAAY;QACV,OAAO,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC;IAC7B,CAAC;IAED;;OAEG;IACH,OAAO,CAAC,IAA0B;QAChC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;IAED;;OAEG;IACH,UAAU,CAAC,EAAU;QACnB,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;QACzD,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;YACf,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;YAChC,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;OAEG;IACH,SAAS;QACP,OAAO,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;IAC5B,CAAC;CACF;AAhND,kCAgNC;AAED,6BAA6B;AAE7B;;GAEG;AACH,SAAgB,iBAAiB,CAAC,MAAmC;IACnE,OAAO,IAAI,WAAW,CAAC,MAAM,CAAC,CAAC;AACjC,CAAC;AAED;;GAEG;AACH,IAAI,kBAAkB,GAAuB,IAAI,CAAC;AAElD;;GAEG;AACH,SAAgB,cAAc;IAC5B,IAAI,CAAC,kBAAkB,EAAE,CAAC;QACxB,kBAAkB,GAAG,IAAI,WAAW,EAAE,CAAC;IACzC,CAAC;IACD,OAAO,kBAAkB,CAAC;AAC5B,CAAC;AAED;;GAEG;AACH,SAAgB,gBAAgB,CAAC,OAAe;IAC9C,OAAO,cAAc,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;AAC7C,CAAC;AAED;;GAEG;AACH,SAAgB,mBAAmB,CAAC,OAAe;IACjD,OAAO,cAAc,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;AAChD,CAAC"}
|
package/dist/gates/index.d.ts
CHANGED
|
@@ -3,12 +3,13 @@
|
|
|
3
3
|
*
|
|
4
4
|
* 统一导出所有门禁类型
|
|
5
5
|
*/
|
|
6
|
-
export type { GateResult, GateContext, PerformanceThresholds, ReviewGateConfig, SecurityGateConfig, PerformanceGateConfig, ContractGateConfig, SpecAcceptanceGateConfig, AcceptanceGateContext, AcceptanceCriteria, } from './types';
|
|
6
|
+
export type { GateResult, GateContext, PerformanceThresholds, ReviewGateConfig, SecurityGateConfig, PerformanceGateConfig, ContractGateConfig, SpecAcceptanceGateConfig, AcceptanceGateContext, AcceptanceCriteria, CommandBlacklistRule, CommandGateConfig, } from './types';
|
|
7
7
|
export { ReviewGate } from './review';
|
|
8
8
|
export { SecurityGate } from './security';
|
|
9
9
|
export { PerformanceGate } from './performance';
|
|
10
10
|
export { ContractGate } from './contract';
|
|
11
11
|
export { SpecAcceptanceGate } from './acceptance';
|
|
12
|
+
export { CommandGate, createCommandGate, getCommandGate, isCommandAllowed, getCommandRiskLevel, DEFAULT_COMMAND_BLACKLIST } from './command';
|
|
12
13
|
import { ReviewGate } from './review';
|
|
13
14
|
import { SecurityGate } from './security';
|
|
14
15
|
import { PerformanceGate } from './performance';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/gates/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,YAAY,EACV,UAAU,EACV,WAAW,EACX,qBAAqB,EACrB,gBAAgB,EAChB,kBAAkB,EAClB,qBAAqB,EACrB,kBAAkB,EAClB,wBAAwB,EACxB,qBAAqB,EACrB,kBAAkB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/gates/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,YAAY,EACV,UAAU,EACV,WAAW,EACX,qBAAqB,EACrB,gBAAgB,EAChB,kBAAkB,EAClB,qBAAqB,EACrB,kBAAkB,EAClB,wBAAwB,EACxB,qBAAqB,EACrB,kBAAkB,EAClB,oBAAoB,EACpB,iBAAiB,GAClB,MAAM,SAAS,CAAC;AAGjB,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,cAAc,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,yBAAyB,EAAE,MAAM,WAAW,CAAC;AAG7I,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAElD,OAAO,KAAK,EACV,gBAAgB,EAChB,kBAAkB,EAClB,qBAAqB,EACrB,kBAAkB,EAClB,wBAAwB,EAEzB,MAAM,SAAS,CAAC;AAEjB,wBAAgB,gBAAgB,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC,GAAG,UAAU,CAE/E;AAED,wBAAgB,kBAAkB,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,kBAAkB,CAAC,GAAG,YAAY,CAErF;AAED,wBAAgB,qBAAqB,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,qBAAqB,CAAC,GAAG,eAAe,CAE9F;AAED,wBAAgB,kBAAkB,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,kBAAkB,CAAC,GAAG,YAAY,CAErF;AAED,wBAAgB,wBAAwB,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,wBAAwB,CAAC,GAAG,kBAAkB,CAEvG"}
|
package/dist/gates/index.js
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* 统一导出所有门禁类型
|
|
6
6
|
*/
|
|
7
7
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
-
exports.SpecAcceptanceGate = exports.ContractGate = exports.PerformanceGate = exports.SecurityGate = exports.ReviewGate = void 0;
|
|
8
|
+
exports.DEFAULT_COMMAND_BLACKLIST = exports.getCommandRiskLevel = exports.isCommandAllowed = exports.getCommandGate = exports.createCommandGate = exports.CommandGate = exports.SpecAcceptanceGate = exports.ContractGate = exports.PerformanceGate = exports.SecurityGate = exports.ReviewGate = void 0;
|
|
9
9
|
exports.createReviewGate = createReviewGate;
|
|
10
10
|
exports.createSecurityGate = createSecurityGate;
|
|
11
11
|
exports.createPerformanceGate = createPerformanceGate;
|
|
@@ -22,6 +22,13 @@ var contract_1 = require("./contract");
|
|
|
22
22
|
Object.defineProperty(exports, "ContractGate", { enumerable: true, get: function () { return contract_1.ContractGate; } });
|
|
23
23
|
var acceptance_1 = require("./acceptance");
|
|
24
24
|
Object.defineProperty(exports, "SpecAcceptanceGate", { enumerable: true, get: function () { return acceptance_1.SpecAcceptanceGate; } });
|
|
25
|
+
var command_1 = require("./command");
|
|
26
|
+
Object.defineProperty(exports, "CommandGate", { enumerable: true, get: function () { return command_1.CommandGate; } });
|
|
27
|
+
Object.defineProperty(exports, "createCommandGate", { enumerable: true, get: function () { return command_1.createCommandGate; } });
|
|
28
|
+
Object.defineProperty(exports, "getCommandGate", { enumerable: true, get: function () { return command_1.getCommandGate; } });
|
|
29
|
+
Object.defineProperty(exports, "isCommandAllowed", { enumerable: true, get: function () { return command_1.isCommandAllowed; } });
|
|
30
|
+
Object.defineProperty(exports, "getCommandRiskLevel", { enumerable: true, get: function () { return command_1.getCommandRiskLevel; } });
|
|
31
|
+
Object.defineProperty(exports, "DEFAULT_COMMAND_BLACKLIST", { enumerable: true, get: function () { return command_1.DEFAULT_COMMAND_BLACKLIST; } });
|
|
25
32
|
// 便捷工厂函数
|
|
26
33
|
const review_2 = require("./review");
|
|
27
34
|
const security_2 = require("./security");
|
|
@@ -43,4 +50,5 @@ function createContractGate(config) {
|
|
|
43
50
|
function createSpecAcceptanceGate(config) {
|
|
44
51
|
return new acceptance_2.SpecAcceptanceGate(config);
|
|
45
52
|
}
|
|
53
|
+
// CommandGate 已在 command.ts 中导出 createCommandGate
|
|
46
54
|
//# sourceMappingURL=index.js.map
|
package/dist/gates/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/gates/index.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/gates/index.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AA0CH,4CAEC;AAED,gDAEC;AAED,sDAEC;AAED,gDAEC;AAED,4DAEC;AA1CD,QAAQ;AACR,mCAAsC;AAA7B,oGAAA,UAAU,OAAA;AACnB,uCAA0C;AAAjC,wGAAA,YAAY,OAAA;AACrB,6CAAgD;AAAvC,8GAAA,eAAe,OAAA;AACxB,uCAA0C;AAAjC,wGAAA,YAAY,OAAA;AACrB,2CAAkD;AAAzC,gHAAA,kBAAkB,OAAA;AAC3B,qCAA6I;AAApI,sGAAA,WAAW,OAAA;AAAE,4GAAA,iBAAiB,OAAA;AAAE,yGAAA,cAAc,OAAA;AAAE,2GAAA,gBAAgB,OAAA;AAAE,8GAAA,mBAAmB,OAAA;AAAE,oHAAA,yBAAyB,OAAA;AAEzH,SAAS;AACT,qCAAsC;AACtC,yCAA0C;AAC1C,+CAAgD;AAChD,yCAA0C;AAC1C,6CAAkD;AAWlD,SAAgB,gBAAgB,CAAC,MAAkC;IACjE,OAAO,IAAI,mBAAU,CAAC,MAAM,CAAC,CAAC;AAChC,CAAC;AAED,SAAgB,kBAAkB,CAAC,MAAoC;IACrE,OAAO,IAAI,uBAAY,CAAC,MAAM,CAAC,CAAC;AAClC,CAAC;AAED,SAAgB,qBAAqB,CAAC,MAAuC;IAC3E,OAAO,IAAI,6BAAe,CAAC,MAAM,CAAC,CAAC;AACrC,CAAC;AAED,SAAgB,kBAAkB,CAAC,MAAoC;IACrE,OAAO,IAAI,uBAAY,CAAC,MAAM,CAAC,CAAC;AAClC,CAAC;AAED,SAAgB,wBAAwB,CAAC,MAA0C;IACjF,OAAO,IAAI,+BAAkB,CAAC,MAAM,CAAC,CAAC;AACxC,CAAC;AAED,kDAAkD"}
|
package/dist/gates/types.d.ts
CHANGED
|
@@ -112,4 +112,27 @@ export interface AcceptanceCriteria {
|
|
|
112
112
|
checked?: boolean;
|
|
113
113
|
notes?: string;
|
|
114
114
|
}
|
|
115
|
+
/**
|
|
116
|
+
* 命令黑名单规则
|
|
117
|
+
*/
|
|
118
|
+
export interface CommandBlacklistRule {
|
|
119
|
+
id: string;
|
|
120
|
+
pattern: RegExp;
|
|
121
|
+
level: 'block' | 'warn' | 'audit';
|
|
122
|
+
message: string;
|
|
123
|
+
category: string;
|
|
124
|
+
}
|
|
125
|
+
/**
|
|
126
|
+
* 命令门禁配置
|
|
127
|
+
*/
|
|
128
|
+
export interface CommandGateConfig {
|
|
129
|
+
/** 是否启用 */
|
|
130
|
+
enabled?: boolean;
|
|
131
|
+
/** 严格模式(warn 也阻止) */
|
|
132
|
+
strict?: boolean;
|
|
133
|
+
/** 自定义黑名单规则 */
|
|
134
|
+
customBlacklist?: CommandBlacklistRule[];
|
|
135
|
+
/** 忽略的类别 */
|
|
136
|
+
ignoreCategories?: string[];
|
|
137
|
+
}
|
|
115
138
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/gates/types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/gates/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -17,7 +17,7 @@ export type ConstraintLevel = 'iron_law' | 'guideline' | 'tip';
|
|
|
17
17
|
/**
|
|
18
18
|
* 约束触发条件
|
|
19
19
|
*/
|
|
20
|
-
export type ConstraintTrigger = 'bug_fix_attempt' | 'task_completion_claim' | 'feature_completion_claim' | 'skill_creation' | 'code_implementation' | 'test_creation' | 'workflow_execution' | 'step_execution' | 'step_creation' | 'tool_creation' | 'workflow_creation' | 'module_creation' | 'module_modification' | 'module_deletion' | 'module_extension' | 'feature_development' | 'api_change' | 'export_change' | 'file_creation' | 'file_modification' | 'file_deletion' | 'commit' | 'push' | 'merge' | 'design_request' | 'architecture_change' | 'external_api_design';
|
|
20
|
+
export type ConstraintTrigger = 'bug_fix_attempt' | 'task_completion_claim' | 'feature_completion_claim' | 'implementation_complete' | 'skill_creation' | 'code_implementation' | 'test_creation' | 'workflow_execution' | 'step_execution' | 'step_creation' | 'tool_creation' | 'workflow_creation' | 'module_creation' | 'module_modification' | 'module_deletion' | 'module_extension' | 'feature_development' | 'api_change' | 'export_change' | 'file_creation' | 'file_modification' | 'file_deletion' | 'commit' | 'push' | 'merge' | 'design_request' | 'architecture_change' | 'external_api_design';
|
|
21
21
|
/**
|
|
22
22
|
* 约束定义
|
|
23
23
|
*/
|
|
@@ -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;;;AAyPH;;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"}
|