@winspan/claude-forge 8.2.0 → 8.11.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +64 -5
- package/dist/claudemd/convention-extractor.js +3 -3
- package/dist/claudemd/convention-extractor.js.map +1 -1
- package/dist/cli/commands/init.d.ts.map +1 -1
- package/dist/cli/commands/init.js +1 -0
- package/dist/cli/commands/init.js.map +1 -1
- package/dist/cli/commands/rules.d.ts +8 -0
- package/dist/cli/commands/rules.d.ts.map +1 -0
- package/dist/cli/commands/rules.js +89 -0
- package/dist/cli/commands/rules.js.map +1 -0
- package/dist/cli/commands/stats.d.ts +8 -0
- package/dist/cli/commands/stats.d.ts.map +1 -0
- package/dist/cli/commands/stats.js +79 -0
- package/dist/cli/commands/stats.js.map +1 -0
- package/dist/cli/commands/template.d.ts +8 -0
- package/dist/cli/commands/template.d.ts.map +1 -0
- package/dist/cli/commands/template.js +68 -0
- package/dist/cli/commands/template.js.map +1 -0
- package/dist/cli/index.js +6 -0
- package/dist/cli/index.js.map +1 -1
- package/dist/core/storage/sqlite.d.ts +25 -0
- package/dist/core/storage/sqlite.d.ts.map +1 -1
- package/dist/core/storage/sqlite.js +26 -0
- package/dist/core/storage/sqlite.js.map +1 -1
- package/dist/core/types.d.ts +3 -0
- package/dist/core/types.d.ts.map +1 -1
- package/dist/daemon/handlers/pre-tool-use.d.ts +6 -1
- package/dist/daemon/handlers/pre-tool-use.d.ts.map +1 -1
- package/dist/daemon/handlers/pre-tool-use.js +45 -46
- package/dist/daemon/handlers/pre-tool-use.js.map +1 -1
- package/dist/daemon/handlers/user-prompt.d.ts.map +1 -1
- package/dist/daemon/handlers/user-prompt.js +8 -3
- package/dist/daemon/handlers/user-prompt.js.map +1 -1
- package/dist/daemon/index.d.ts.map +1 -1
- package/dist/daemon/index.js +34 -2
- package/dist/daemon/index.js.map +1 -1
- package/dist/engine/conventions/basic-security.yaml +15 -0
- package/dist/engine/conventions/database-safety.yaml +74 -0
- package/dist/engine/conventions/docker-safety.yaml +69 -0
- package/dist/engine/conventions/git-safety.yaml +12 -0
- package/dist/engine/conventions/go-best-practices.yaml +84 -0
- package/dist/engine/conventions/python-best-practices.yaml +96 -0
- package/dist/engine/conventions/react-best-practices.yaml +96 -0
- package/dist/engine/dsl/parser.d.ts.map +1 -1
- package/dist/engine/dsl/parser.js +7 -1
- package/dist/engine/dsl/parser.js.map +1 -1
- package/dist/engine/dsl/types.d.ts +26 -1
- package/dist/engine/dsl/types.d.ts.map +1 -1
- package/dist/engine/rule-engine.d.ts +2 -1
- package/dist/engine/rule-engine.d.ts.map +1 -1
- package/dist/engine/rule-engine.js +56 -20
- package/dist/engine/rule-engine.js.map +1 -1
- package/dist/skills/matcher.d.ts +17 -1
- package/dist/skills/matcher.d.ts.map +1 -1
- package/dist/skills/matcher.js +92 -2
- package/dist/skills/matcher.js.map +1 -1
- package/dist/skills/registry.d.ts +26 -5
- package/dist/skills/registry.d.ts.map +1 -1
- package/dist/skills/registry.js +100 -10
- package/dist/skills/registry.js.map +1 -1
- package/dist/skills/semantic-matcher.d.ts +58 -0
- package/dist/skills/semantic-matcher.d.ts.map +1 -0
- package/dist/skills/semantic-matcher.js +189 -0
- package/dist/skills/semantic-matcher.js.map +1 -0
- package/dist/templates/template-manager.d.ts +52 -0
- package/dist/templates/template-manager.d.ts.map +1 -0
- package/dist/templates/template-manager.js +129 -0
- package/dist/templates/template-manager.js.map +1 -0
- package/dist/web/server.d.ts.map +1 -1
- package/dist/web/server.js +129 -2
- package/dist/web/server.js.map +1 -1
- package/dist/web/static/index.html +337 -0
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sqlite.js","sourceRoot":"","sources":["../../../src/core/storage/sqlite.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"sqlite.js","sourceRoot":"","sources":["../../../src/core/storage/sqlite.ts"],"names":[],"mappings":"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"}
|
package/dist/core/types.d.ts
CHANGED
package/dist/core/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,YAAY,GAAG,aAAa,GAAG,kBAAkB,GAAG,cAAc,GAAG,MAAM,CAAC;IACvF,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrC,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACtC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE;QACP,OAAO,EAAE,MAAM,CAAC;QAChB,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC;IACF,OAAO,EAAE;QACP,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,EAAE,MAAM,CAAC;KACrB,CAAC;IACF,GAAG,EAAE;QACH,OAAO,EAAE,OAAO,CAAC;QACjB,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;CACH"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,YAAY,GAAG,aAAa,GAAG,kBAAkB,GAAG,cAAc,GAAG,MAAM,CAAC;IACvF,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrC,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACtC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE;QACP,OAAO,EAAE,MAAM,CAAC;QAChB,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC;IACF,OAAO,EAAE;QACP,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,EAAE,MAAM,CAAC;KACrB,CAAC;IACF,GAAG,EAAE;QACH,OAAO,EAAE,OAAO,CAAC;QACjB,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;IACF,cAAc,CAAC,EAAE;QACf,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC;CACH"}
|
|
@@ -8,6 +8,7 @@
|
|
|
8
8
|
*/
|
|
9
9
|
import type { ForgeEvent, HookResult } from '../../core/types.js';
|
|
10
10
|
import type { RuleEngine } from '../../engine/rule-engine.js';
|
|
11
|
+
import type { GovernanceDecision } from '../../engine/dsl/types.js';
|
|
11
12
|
import type { ContextBuilder } from '../../engine/context-builder.js';
|
|
12
13
|
export declare class PreToolUseHandler {
|
|
13
14
|
private ruleEngine;
|
|
@@ -15,6 +16,10 @@ export declare class PreToolUseHandler {
|
|
|
15
16
|
private sessionStartTime;
|
|
16
17
|
constructor(ruleEngine: RuleEngine, contextBuilder: ContextBuilder);
|
|
17
18
|
handle(event: ForgeEvent): Promise<HookResult>;
|
|
18
|
-
|
|
19
|
+
handleWithDecision(event: ForgeEvent): Promise<{
|
|
20
|
+
result: HookResult;
|
|
21
|
+
decision: GovernanceDecision;
|
|
22
|
+
}>;
|
|
23
|
+
private findPrimaryMatch;
|
|
19
24
|
}
|
|
20
25
|
//# sourceMappingURL=pre-tool-use.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pre-tool-use.d.ts","sourceRoot":"","sources":["../../../src/daemon/handlers/pre-tool-use.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAClE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,KAAK,EAAE,cAAc,EAAyB,MAAM,iCAAiC,CAAC;
|
|
1
|
+
{"version":3,"file":"pre-tool-use.d.ts","sourceRoot":"","sources":["../../../src/daemon/handlers/pre-tool-use.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAClE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,KAAK,EAAE,kBAAkB,EAAe,MAAM,2BAA2B,CAAC;AACjF,OAAO,KAAK,EAAE,cAAc,EAAyB,MAAM,iCAAiC,CAAC;AAG7F,qBAAa,iBAAiB;IAI1B,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,cAAc;IAJxB,OAAO,CAAC,gBAAgB,CAAc;gBAG5B,UAAU,EAAE,UAAU,EACtB,cAAc,EAAE,cAAc;IAGlC,MAAM,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;IAK9C,kBAAkB,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC;QAAE,MAAM,EAAE,UAAU,CAAC;QAAC,QAAQ,EAAE,kBAAkB,CAAA;KAAE,CAAC;IAyD1G,OAAO,CAAC,gBAAgB;CASzB"}
|
|
@@ -7,16 +7,6 @@
|
|
|
7
7
|
* 3. Return block/warn/allow decision
|
|
8
8
|
*/
|
|
9
9
|
import { logger } from '../../core/utils/logger.js';
|
|
10
|
-
// Norm reminders for specific violation types
|
|
11
|
-
const NORM_REMINDERS = {
|
|
12
|
-
'git-force-push': 'Git 安全规范:受保护分支禁止强制推送和 rebase,详见 CLAUDE.md',
|
|
13
|
-
'git-reset-hard': 'Git 安全规范:危险操作需要确认,避免丢失未提交的更改,详见 CLAUDE.md',
|
|
14
|
-
'rm-dangerous': '基础安全规范:禁止 rm -rf / 等危险操作,详见 CLAUDE.md',
|
|
15
|
-
'chmod-777': '基础安全规范:禁止设置 777 权限(安全风险),详见 CLAUDE.md',
|
|
16
|
-
'drop-database': '基础安全规范:禁止 DROP DATABASE 操作,详见 CLAUDE.md',
|
|
17
|
-
'edit-legacy': 'Harness 规范:改遗留代码前先建测试防护网(理解 → 织网 → 修改 → 验证),详见 CLAUDE.md',
|
|
18
|
-
'new-feature': 'BMad 规范:新功能必须先有产品规格文档,架构决策必须有文档记录,详见 CLAUDE.md',
|
|
19
|
-
};
|
|
20
10
|
export class PreToolUseHandler {
|
|
21
11
|
ruleEngine;
|
|
22
12
|
contextBuilder;
|
|
@@ -26,61 +16,70 @@ export class PreToolUseHandler {
|
|
|
26
16
|
this.contextBuilder = contextBuilder;
|
|
27
17
|
}
|
|
28
18
|
async handle(event) {
|
|
19
|
+
const { result } = await this.handleWithDecision(event);
|
|
20
|
+
return result;
|
|
21
|
+
}
|
|
22
|
+
async handleWithDecision(event) {
|
|
29
23
|
try {
|
|
30
|
-
// 1. Build rule context
|
|
31
24
|
const options = {
|
|
32
25
|
sessionStartTime: this.sessionStartTime,
|
|
33
26
|
};
|
|
34
27
|
const ctx = this.contextBuilder.build(event, options);
|
|
35
|
-
|
|
36
|
-
const decision =
|
|
37
|
-
|
|
28
|
+
const evaluation = this.ruleEngine.evaluateDetailed(ctx);
|
|
29
|
+
const decision = evaluation.decision;
|
|
30
|
+
const primaryMatch = this.findPrimaryMatch(decision, evaluation.matches);
|
|
31
|
+
const operatorGuidance = primaryMatch?.operator_guidance;
|
|
38
32
|
if (decision.level === 'block') {
|
|
39
33
|
logger.info(`[PreToolUse] BLOCKED: ${decision.reason}`);
|
|
40
|
-
const
|
|
41
|
-
|
|
42
|
-
? `${decision.reason}\n\n${normReminder}`
|
|
34
|
+
const reason = operatorGuidance
|
|
35
|
+
? `${decision.reason}\n\n${operatorGuidance}`
|
|
43
36
|
: decision.reason ?? 'Blocked by governance rule';
|
|
44
|
-
return {
|
|
37
|
+
return {
|
|
38
|
+
decision,
|
|
39
|
+
result: { allow: false, reason },
|
|
40
|
+
};
|
|
45
41
|
}
|
|
46
42
|
if (decision.level === 'warn') {
|
|
47
43
|
logger.info(`[PreToolUse] WARN: ${decision.reason}`);
|
|
48
|
-
const
|
|
49
|
-
|
|
50
|
-
? `[Forge 警告] ${decision.reason}\n\n${normReminder}`
|
|
44
|
+
const context = operatorGuidance
|
|
45
|
+
? `[Forge 警告] ${decision.reason}\n\n${operatorGuidance}`
|
|
51
46
|
: `[Forge 警告] ${decision.reason}`;
|
|
52
|
-
return {
|
|
47
|
+
return {
|
|
48
|
+
decision,
|
|
49
|
+
result: { allow: true, additionalContext: context },
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
if (decision.level === 'confirm') {
|
|
53
|
+
logger.info(`[PreToolUse] CONFIRM: ${decision.reason}`);
|
|
54
|
+
const context = operatorGuidance
|
|
55
|
+
? `[Forge 确认] ${decision.reason}\n\n${operatorGuidance}`
|
|
56
|
+
: `[Forge 确认] ${decision.reason}`;
|
|
57
|
+
return {
|
|
58
|
+
decision,
|
|
59
|
+
result: { allow: true, additionalContext: context },
|
|
60
|
+
};
|
|
53
61
|
}
|
|
54
|
-
return {
|
|
62
|
+
return {
|
|
63
|
+
decision,
|
|
64
|
+
result: { allow: true },
|
|
65
|
+
};
|
|
55
66
|
}
|
|
56
67
|
catch (err) {
|
|
57
68
|
logger.warn(`[PreToolUse] Handler failed: ${err}`);
|
|
58
|
-
return {
|
|
69
|
+
return {
|
|
70
|
+
decision: { level: 'allow' },
|
|
71
|
+
result: { allow: true },
|
|
72
|
+
};
|
|
59
73
|
}
|
|
60
74
|
}
|
|
61
|
-
|
|
62
|
-
if (
|
|
63
|
-
return
|
|
64
|
-
|
|
65
|
-
if (
|
|
66
|
-
return
|
|
67
|
-
if (ruleId.includes('reset-hard'))
|
|
68
|
-
return NORM_REMINDERS['git-reset-hard'];
|
|
69
|
-
if (ruleId.includes('rm-rf'))
|
|
70
|
-
return NORM_REMINDERS['rm-dangerous'];
|
|
71
|
-
if (ruleId.includes('chmod-777'))
|
|
72
|
-
return NORM_REMINDERS['chmod-777'];
|
|
73
|
-
if (ruleId.includes('drop-database'))
|
|
74
|
-
return NORM_REMINDERS['drop-database'];
|
|
75
|
-
// Context-based detection
|
|
76
|
-
if (event.tool_name === 'Edit' || event.tool_name === 'Write') {
|
|
77
|
-
const filePath = event.tool_input?.file_path;
|
|
78
|
-
// If editing code without tests, remind about Harness
|
|
79
|
-
if (filePath && !filePath.includes('test') && !filePath.includes('spec')) {
|
|
80
|
-
return NORM_REMINDERS['edit-legacy'];
|
|
81
|
-
}
|
|
75
|
+
findPrimaryMatch(decision, matches) {
|
|
76
|
+
if (decision.rule_id) {
|
|
77
|
+
return matches.find((match) => match.id === decision.rule_id);
|
|
78
|
+
}
|
|
79
|
+
if (decision.level === 'warn') {
|
|
80
|
+
return matches.find((match) => match.level === 'warn');
|
|
82
81
|
}
|
|
83
|
-
return
|
|
82
|
+
return undefined;
|
|
84
83
|
}
|
|
85
84
|
}
|
|
86
85
|
//# sourceMappingURL=pre-tool-use.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pre-tool-use.js","sourceRoot":"","sources":["../../../src/daemon/handlers/pre-tool-use.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;
|
|
1
|
+
{"version":3,"file":"pre-tool-use.js","sourceRoot":"","sources":["../../../src/daemon/handlers/pre-tool-use.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"user-prompt.d.ts","sourceRoot":"","sources":["../../../src/daemon/handlers/user-prompt.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAClE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AACzE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,+CAA+C,CAAC;AAC3F,OAAO,KAAK,EAAE,aAAa,EAAS,MAAM,0BAA0B,CAAC;AACrE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AACtE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,wCAAwC,CAAC;AAGlF,qBAAa,iBAAiB;IAM1B,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,cAAc;IACtB,OAAO,CAAC,mBAAmB;IAT7B,OAAO,CAAC,cAAc,CAAqB;IAC3C,OAAO,CAAC,eAAe,CAAqB;IAC5C,OAAO,CAAC,kBAAkB,CAAqB;gBAGrC,UAAU,EAAE,gBAAgB,EAC5B,MAAM,EAAE,aAAa,EACrB,MAAM,GAAE,aAAa,GAAG,IAAW,EACnC,cAAc,GAAE,qBAAqB,GAAG,IAAW,EACnD,mBAAmB,GAAE,mBAAmB,GAAG,IAAW;IAG1D,MAAM,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"user-prompt.d.ts","sourceRoot":"","sources":["../../../src/daemon/handlers/user-prompt.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAClE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AACzE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,+CAA+C,CAAC;AAC3F,OAAO,KAAK,EAAE,aAAa,EAAS,MAAM,0BAA0B,CAAC;AACrE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AACtE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,wCAAwC,CAAC;AAGlF,qBAAa,iBAAiB;IAM1B,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,cAAc;IACtB,OAAO,CAAC,mBAAmB;IAT7B,OAAO,CAAC,cAAc,CAAqB;IAC3C,OAAO,CAAC,eAAe,CAAqB;IAC5C,OAAO,CAAC,kBAAkB,CAAqB;gBAGrC,UAAU,EAAE,gBAAgB,EAC5B,MAAM,EAAE,aAAa,EACrB,MAAM,GAAE,aAAa,GAAG,IAAW,EACnC,cAAc,GAAE,qBAAqB,GAAG,IAAW,EACnD,mBAAmB,GAAE,mBAAmB,GAAG,IAAW;IAG1D,MAAM,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;CAwErD"}
|
|
@@ -47,7 +47,7 @@ export class UserPromptHandler {
|
|
|
47
47
|
this.conventionInjected.add(sessionKey);
|
|
48
48
|
const convention = this.conventionExtractor.extract(event.project_path);
|
|
49
49
|
if (convention) {
|
|
50
|
-
contextParts.push(`━━━ Project
|
|
50
|
+
contextParts.push(`━━━ Project Guidance (Read First) ━━━\n${convention}\n━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━`);
|
|
51
51
|
logger.info('[UserPrompt] Injected project conventions');
|
|
52
52
|
}
|
|
53
53
|
}
|
|
@@ -63,8 +63,13 @@ export class UserPromptHandler {
|
|
|
63
63
|
// 1. Classify intent
|
|
64
64
|
const analysis = await this.classifier.classify(prompt, event.project_path);
|
|
65
65
|
logger.info(`[UserPrompt] Complexity: ${analysis.complexity} | Keywords: ${analysis.searchKeywords.join(', ')}`);
|
|
66
|
-
// 2.
|
|
67
|
-
|
|
66
|
+
// 2. Enhanced skill matching (re-enabled with improved algorithm)
|
|
67
|
+
const skill = await this.skills.match(prompt, analysis.searchKeywords);
|
|
68
|
+
if (skill) {
|
|
69
|
+
logger.info(`[UserPrompt] Matched skill: ${skill.name}`);
|
|
70
|
+
const { formatSkillRecommendation } = await import('../../skills/matcher.js');
|
|
71
|
+
systemParts.push(formatSkillRecommendation(skill));
|
|
72
|
+
}
|
|
68
73
|
const result = { allow: true };
|
|
69
74
|
if (contextParts.length > 0) {
|
|
70
75
|
result.additionalContext = contextParts.join('\n\n');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"user-prompt.js","sourceRoot":"","sources":["../../../src/daemon/handlers/user-prompt.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAQH,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AAEpD,MAAM,OAAO,iBAAiB;IAMlB;IACA;IACA;IACA;IACA;IATF,cAAc,GAAG,IAAI,GAAG,EAAU,CAAC;IACnC,eAAe,GAAG,IAAI,GAAG,EAAU,CAAC;IACpC,kBAAkB,GAAG,IAAI,GAAG,EAAU,CAAC;IAE/C,YACU,UAA4B,EAC5B,MAAqB,EACrB,SAA+B,IAAI,EACnC,iBAA+C,IAAI,EACnD,sBAAkD,IAAI;QAJtD,eAAU,GAAV,UAAU,CAAkB;QAC5B,WAAM,GAAN,MAAM,CAAe;QACrB,WAAM,GAAN,MAAM,CAA6B;QACnC,mBAAc,GAAd,cAAc,CAAqC;QACnD,wBAAmB,GAAnB,mBAAmB,CAAmC;IAC7D,CAAC;IAEJ,KAAK,CAAC,MAAM,CAAC,KAAiB;QAC5B,MAAM,MAAM,GAAG,KAAK,CAAC,WAAW,IAAK,KAAK,CAAC,UAAkD,EAAE,WAAiC,CAAC;QACjI,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;QACzB,CAAC;QAED,IAAI,CAAC;YACH,sCAAsC;YACtC,MAAM,UAAU,GAAG,GAAG,KAAK,CAAC,UAAU,IAAI,KAAK,CAAC,YAAY,EAAE,CAAC;YAC/D,MAAM,YAAY,GAAa,EAAE,CAAC,CAAC,wCAAwC;YAC3E,MAAM,WAAW,GAAa,EAAE,CAAC,CAAC,iCAAiC;YAEnE,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;gBACxD,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;gBACpC,MAAM,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;gBAC3D,IAAI,aAAa,EAAE,CAAC;oBAClB,YAAY,CAAC,IAAI,CACf,uCAAuC,aAAa,oCAAoC,CACzF,CAAC;oBACF,MAAM,CAAC,IAAI,CAAC,sCAAsC,CAAC,CAAC;oBACpD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;gBACxC,CAAC;YACH,CAAC;YAED,2CAA2C;YAC3C,IAAI,IAAI,CAAC,mBAAmB,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;gBACzE,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;gBACxC,MAAM,UAAU,GAAG,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;gBACxE,IAAI,UAAU,EAAE,CAAC;oBACf,YAAY,CAAC,IAAI,CACf,
|
|
1
|
+
{"version":3,"file":"user-prompt.js","sourceRoot":"","sources":["../../../src/daemon/handlers/user-prompt.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/daemon/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAoCH,wBAAsB,WAAW,CAAC,UAAU,GAAE,OAAe,GAAG,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/daemon/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAoCH,wBAAsB,WAAW,CAAC,UAAU,GAAE,OAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CA6M5E"}
|
package/dist/daemon/index.js
CHANGED
|
@@ -66,7 +66,15 @@ export async function startDaemon(foreground = false) {
|
|
|
66
66
|
const classifier = ai ? new IntentClassifier(ai) : null;
|
|
67
67
|
const qualityGate = ai ? new QualityGate(ai) : null;
|
|
68
68
|
const distiller = ai ? new Distiller(ai, storage) : null;
|
|
69
|
-
|
|
69
|
+
// Initialize skill registry with semantic matching support
|
|
70
|
+
const skillApiKey = config.skill_matching?.api_key || apiKey;
|
|
71
|
+
const skills = new SkillRegistry(skillApiKey);
|
|
72
|
+
if (skillApiKey) {
|
|
73
|
+
logger.info('[Skills] Semantic matching enabled');
|
|
74
|
+
}
|
|
75
|
+
else {
|
|
76
|
+
logger.info('[Skills] Using keyword matching only');
|
|
77
|
+
}
|
|
70
78
|
const exporter = new HistoryExporter(storage);
|
|
71
79
|
const resume = new ResumeManager(storage);
|
|
72
80
|
const historyContext = new HistoryContextBuilder(storage);
|
|
@@ -95,7 +103,31 @@ export async function startDaemon(foreground = false) {
|
|
|
95
103
|
else if (event.event_id) {
|
|
96
104
|
taskSegmenter.linkEvent(event.session_id, event.event_id);
|
|
97
105
|
}
|
|
98
|
-
|
|
106
|
+
let result;
|
|
107
|
+
if (event.hook_type === 'PreToolUse') {
|
|
108
|
+
const handled = await handlers.PreToolUse.handleWithDecision(event);
|
|
109
|
+
result = handled.result;
|
|
110
|
+
const toolEventId = storage.writeToolEvent({
|
|
111
|
+
session_id: event.session_id,
|
|
112
|
+
tool: event.tool_name ?? 'unknown',
|
|
113
|
+
args: event.tool_input ?? {},
|
|
114
|
+
success: handled.result.allow,
|
|
115
|
+
error: handled.result.allow ? undefined : handled.result.reason,
|
|
116
|
+
timestamp: Date.parse(event.timestamp) || Date.now(),
|
|
117
|
+
});
|
|
118
|
+
storage.writeDecision({
|
|
119
|
+
session_id: event.session_id,
|
|
120
|
+
event_id: toolEventId,
|
|
121
|
+
rule_id: handled.decision.rule_id ?? null,
|
|
122
|
+
level: handled.decision.level,
|
|
123
|
+
reason: handled.decision.reason ?? null,
|
|
124
|
+
suggestion: handled.decision.suggestion ?? null,
|
|
125
|
+
timestamp: Date.parse(event.timestamp) || Date.now(),
|
|
126
|
+
});
|
|
127
|
+
}
|
|
128
|
+
else {
|
|
129
|
+
result = await routeEvent(event, handlers);
|
|
130
|
+
}
|
|
99
131
|
if (result) {
|
|
100
132
|
const handlerName = event.hook_type + 'Handler';
|
|
101
133
|
if (result.systemMessage) {
|
package/dist/daemon/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/daemon/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/daemon/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -17,6 +17,9 @@ forbidden:
|
|
|
17
17
|
level: block
|
|
18
18
|
message: "禁止强制推送到受保护分支 {{git.branch}}"
|
|
19
19
|
suggestion: "使用 --force-with-lease 或创建新分支"
|
|
20
|
+
operator_guidance: "Git 安全规范:受保护分支禁止强制推送;如需改写历史,请在新分支完成并通过 PR 合并。"
|
|
21
|
+
doc_ref: "CLAUDE.md#Git 安全规范"
|
|
22
|
+
tags: ["git", "protected-branch", "history-rewrite"]
|
|
20
23
|
|
|
21
24
|
- id: "warn-force-push"
|
|
22
25
|
when: |
|
|
@@ -26,6 +29,9 @@ forbidden:
|
|
|
26
29
|
level: warn
|
|
27
30
|
message: "检测到 git push --force,请确认这是有意为之"
|
|
28
31
|
suggestion: "force push 会覆盖远程仓库的提交历史"
|
|
32
|
+
operator_guidance: "优先使用 --force-with-lease,避免覆盖他人刚推送的提交。"
|
|
33
|
+
doc_ref: "CLAUDE.md#Git 安全规范"
|
|
34
|
+
tags: ["git", "force-push"]
|
|
29
35
|
|
|
30
36
|
- id: "no-rm-rf-root"
|
|
31
37
|
when: |
|
|
@@ -33,6 +39,9 @@ forbidden:
|
|
|
33
39
|
&& args.command.match(/rm\s+-[^\s]*r[^\s]*f[^\s]*\s+\//).ok()
|
|
34
40
|
level: block
|
|
35
41
|
message: "禁止 rm -rf / 操作"
|
|
42
|
+
operator_guidance: "这是不可逆的高危删除命令;先缩小目标路径,并用 ls 或 dry-run 确认作用范围。"
|
|
43
|
+
doc_ref: "CLAUDE.md#基础安全规范"
|
|
44
|
+
tags: ["filesystem", "destructive"]
|
|
36
45
|
|
|
37
46
|
- id: "no-sudo-rm"
|
|
38
47
|
when: |
|
|
@@ -48,6 +57,9 @@ forbidden:
|
|
|
48
57
|
level: block
|
|
49
58
|
message: "禁止设置 777 权限(安全风险)"
|
|
50
59
|
suggestion: "使用更安全的权限设置,如 755 或 644"
|
|
60
|
+
operator_guidance: "按最小权限原则收紧权限;可执行文件通常使用 755,普通文件通常使用 644。"
|
|
61
|
+
doc_ref: "CLAUDE.md#基础安全规范"
|
|
62
|
+
tags: ["permissions", "security"]
|
|
51
63
|
|
|
52
64
|
- id: "no-drop-database"
|
|
53
65
|
when: |
|
|
@@ -55,6 +67,9 @@ forbidden:
|
|
|
55
67
|
&& args.command.lower().includes("drop database")
|
|
56
68
|
level: block
|
|
57
69
|
message: "禁止 DROP DATABASE 操作"
|
|
70
|
+
operator_guidance: "删库属于不可逆操作;先确认环境、库名和备份,再考虑使用更小粒度的数据变更命令。"
|
|
71
|
+
doc_ref: "CLAUDE.md#基础安全规范"
|
|
72
|
+
tags: ["database", "destructive"]
|
|
58
73
|
|
|
59
74
|
- id: "warn-drop-table"
|
|
60
75
|
when: |
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
id: "database-safety"
|
|
2
|
+
name: "数据库安全规范"
|
|
3
|
+
version: "1.0.0"
|
|
4
|
+
description: "数据库操作安全规则,防止 SQL 注入、数据丢失和性能问题"
|
|
5
|
+
triggers: ["sql", "database", "mysql", "postgres", "mongodb", "数据库", "查询"]
|
|
6
|
+
|
|
7
|
+
variables:
|
|
8
|
+
sql_file_patterns: [".sql"]
|
|
9
|
+
dangerous_sql_keywords: ["DROP", "TRUNCATE", "DELETE", "UPDATE"]
|
|
10
|
+
orm_patterns: ["execute", "raw", "query"]
|
|
11
|
+
|
|
12
|
+
forbidden:
|
|
13
|
+
- id: "no-sql-injection"
|
|
14
|
+
when: |
|
|
15
|
+
tool.in(["Write", "Edit"])
|
|
16
|
+
&& (args.content ?? args.new_string ?? "").match(/(?:execute|query|raw)\s*\([^)]*\+[^)]*\)/).ok()
|
|
17
|
+
level: block
|
|
18
|
+
message: "检测到 SQL 字符串拼接,存在 SQL 注入风险"
|
|
19
|
+
suggestion: "使用参数化查询或 ORM 的安全 API"
|
|
20
|
+
operator_guidance: "字符串拼接无法防止 SQL 注入;使用 ? 占位符或 ORM 的参数绑定。"
|
|
21
|
+
doc_ref: "https://owasp.org/www-community/attacks/SQL_Injection"
|
|
22
|
+
tags: ["database", "sql-injection", "security"]
|
|
23
|
+
|
|
24
|
+
- id: "warn-delete-without-where"
|
|
25
|
+
when: |
|
|
26
|
+
tool.in(["Write", "Edit", "Bash"])
|
|
27
|
+
&& (args.content ?? args.new_string ?? args.command ?? "").lower().match(/delete\s+from\s+\w+\s*;/).ok()
|
|
28
|
+
level: block
|
|
29
|
+
message: "检测到无 WHERE 条件的 DELETE,会删除全表数据"
|
|
30
|
+
suggestion: "添加 WHERE 条件限定删除范围,或使用 TRUNCATE"
|
|
31
|
+
operator_guidance: "无条件 DELETE 是不可逆操作;先用 SELECT 验证条件,再执行 DELETE。"
|
|
32
|
+
tags: ["database", "data-loss"]
|
|
33
|
+
|
|
34
|
+
- id: "warn-update-without-where"
|
|
35
|
+
when: |
|
|
36
|
+
tool.in(["Write", "Edit", "Bash"])
|
|
37
|
+
&& (args.content ?? args.new_string ?? args.command ?? "").lower().match(/update\s+\w+\s+set\s+[^;]*;/).ok()
|
|
38
|
+
&& !(args.content ?? args.new_string ?? args.command ?? "").lower().match(/where/).ok()
|
|
39
|
+
level: block
|
|
40
|
+
message: "检测到无 WHERE 条件的 UPDATE,会修改全表数据"
|
|
41
|
+
suggestion: "添加 WHERE 条件限定更新范围"
|
|
42
|
+
operator_guidance: "无条件 UPDATE 会覆盖所有行;先用 SELECT 验证条件,确认影响行数。"
|
|
43
|
+
tags: ["database", "data-loss"]
|
|
44
|
+
|
|
45
|
+
- id: "warn-select-star"
|
|
46
|
+
when: |
|
|
47
|
+
tool.in(["Write", "Edit"])
|
|
48
|
+
&& (args.content ?? args.new_string ?? "").match(/SELECT\s+\*\s+FROM/i).ok()
|
|
49
|
+
level: warn
|
|
50
|
+
message: "检测到 SELECT *,可能影响性能和可维护性"
|
|
51
|
+
suggestion: "显式列出需要的字段,避免传输不必要的数据"
|
|
52
|
+
operator_guidance: "SELECT * 传输所有列,增加网络开销;显式列出字段提升性能和可读性。"
|
|
53
|
+
tags: ["database", "performance"]
|
|
54
|
+
|
|
55
|
+
- id: "no-drop-production"
|
|
56
|
+
when: |
|
|
57
|
+
tool == "Bash"
|
|
58
|
+
&& args.command.lower().match(/drop\s+(database|table)/).ok()
|
|
59
|
+
&& (args.command.includes("prod") || args.command.includes("production"))
|
|
60
|
+
level: block
|
|
61
|
+
message: "禁止在生产环境执行 DROP 操作"
|
|
62
|
+
operator_guidance: "生产环境的 DROP 操作必须经过审批和备份;先在测试环境验证。"
|
|
63
|
+
tags: ["database", "production", "destructive"]
|
|
64
|
+
|
|
65
|
+
escalation: []
|
|
66
|
+
|
|
67
|
+
deliverables: []
|
|
68
|
+
|
|
69
|
+
principles: |
|
|
70
|
+
## 数据库安全规范
|
|
71
|
+
- 禁止 SQL 字符串拼接,使用参数化查询
|
|
72
|
+
- DELETE/UPDATE 必须带 WHERE 条件
|
|
73
|
+
- 避免 SELECT *,显式列出字段
|
|
74
|
+
- 生产环境禁止 DROP 操作
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
id: "docker-safety"
|
|
2
|
+
name: "Docker/容器安全规范"
|
|
3
|
+
version: "1.0.0"
|
|
4
|
+
description: "容器化应用安全规则,覆盖镜像构建、运行时安全和资源管理"
|
|
5
|
+
triggers: ["docker", "dockerfile", "container", "镜像", "容器"]
|
|
6
|
+
|
|
7
|
+
variables:
|
|
8
|
+
dockerfile_patterns: ["Dockerfile", ".dockerfile"]
|
|
9
|
+
dangerous_base_images: ["latest", "alpine:latest"]
|
|
10
|
+
|
|
11
|
+
forbidden:
|
|
12
|
+
- id: "no-latest-tag"
|
|
13
|
+
when: |
|
|
14
|
+
tool.in(["Write", "Edit"])
|
|
15
|
+
&& file_path != null
|
|
16
|
+
&& (file_path.endsWith("Dockerfile") || file_path.includes("Dockerfile"))
|
|
17
|
+
&& (args.content ?? args.new_string ?? "").match(/FROM\s+[^:]+:latest/).ok()
|
|
18
|
+
level: warn
|
|
19
|
+
message: "Dockerfile 使用 :latest 标签,可能导致构建不可复现"
|
|
20
|
+
suggestion: "使用具体版本号,如 node:18.20.0-alpine"
|
|
21
|
+
operator_guidance: "latest 标签会随时间变化;固定版本号确保构建可复现。"
|
|
22
|
+
tags: ["docker", "reproducibility"]
|
|
23
|
+
|
|
24
|
+
- id: "warn-run-as-root"
|
|
25
|
+
when: |
|
|
26
|
+
tool.in(["Write", "Edit"])
|
|
27
|
+
&& file_path != null
|
|
28
|
+
&& (file_path.endsWith("Dockerfile") || file_path.includes("Dockerfile"))
|
|
29
|
+
&& !(args.content ?? args.new_string ?? "").match(/USER\s+\w+/).ok()
|
|
30
|
+
level: warn
|
|
31
|
+
message: "Dockerfile 未指定 USER,容器将以 root 运行"
|
|
32
|
+
suggestion: "添加 USER 指令切换到非 root 用户"
|
|
33
|
+
operator_guidance: "以 root 运行容器增加攻击面;创建专用用户并切换:RUN adduser -D appuser && USER appuser"
|
|
34
|
+
tags: ["docker", "security"]
|
|
35
|
+
|
|
36
|
+
- id: "no-apt-get-without-cleanup"
|
|
37
|
+
when: |
|
|
38
|
+
tool.in(["Write", "Edit"])
|
|
39
|
+
&& file_path != null
|
|
40
|
+
&& (file_path.endsWith("Dockerfile") || file_path.includes("Dockerfile"))
|
|
41
|
+
&& (args.content ?? args.new_string ?? "").match(/apt-get\s+install/).ok()
|
|
42
|
+
&& !(args.content ?? args.new_string ?? "").match(/rm\s+-rf\s+\/var\/lib\/apt\/lists/).ok()
|
|
43
|
+
level: warn
|
|
44
|
+
message: "apt-get install 后未清理缓存,会增大镜像体积"
|
|
45
|
+
suggestion: "在同一 RUN 层添加清理命令:&& rm -rf /var/lib/apt/lists/*"
|
|
46
|
+
operator_guidance: "每个 RUN 层都会保留文件系统快照;在同一层安装和清理可减小镜像体积。"
|
|
47
|
+
tags: ["docker", "optimization"]
|
|
48
|
+
|
|
49
|
+
- id: "warn-expose-sensitive-port"
|
|
50
|
+
when: |
|
|
51
|
+
tool.in(["Write", "Edit"])
|
|
52
|
+
&& file_path != null
|
|
53
|
+
&& (file_path.endsWith("Dockerfile") || file_path.includes("Dockerfile"))
|
|
54
|
+
&& (args.content ?? args.new_string ?? "").match(/EXPOSE\s+(22|3306|5432|6379|27017)/).ok()
|
|
55
|
+
level: warn
|
|
56
|
+
message: "Dockerfile 暴露敏感端口(SSH/数据库),可能存在安全风险"
|
|
57
|
+
suggestion: "确认是否需要暴露该端口,生产环境应通过网络策略限制访问"
|
|
58
|
+
tags: ["docker", "security"]
|
|
59
|
+
|
|
60
|
+
escalation: []
|
|
61
|
+
|
|
62
|
+
deliverables: []
|
|
63
|
+
|
|
64
|
+
principles: |
|
|
65
|
+
## Docker/容器安全规范
|
|
66
|
+
- 使用具体版本号而非 :latest 标签
|
|
67
|
+
- 容器应以非 root 用户运行
|
|
68
|
+
- apt-get install 后清理缓存减小镜像体积
|
|
69
|
+
- 避免暴露敏感端口(SSH、数据库)
|