@winspan/claude-forge 0.4.0 → 0.4.2
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/dist/ai-provider/base-provider.d.ts.map +1 -1
- package/dist/ai-provider/base-provider.js +3 -1
- package/dist/ai-provider/base-provider.js.map +1 -1
- package/dist/ai-provider/factory.d.ts +2 -0
- package/dist/ai-provider/factory.d.ts.map +1 -1
- package/dist/ai-provider/factory.js +1 -1
- package/dist/ai-provider/factory.js.map +1 -1
- package/dist/ai-provider/types.d.ts +6 -0
- package/dist/ai-provider/types.d.ts.map +1 -1
- package/dist/ai-provider/types.js.map +1 -1
- package/dist/autopilot/quality-gate.d.ts +1 -1
- package/dist/autopilot/quality-gate.d.ts.map +1 -1
- package/dist/autopilot/quality-gate.js +70 -27
- package/dist/autopilot/quality-gate.js.map +1 -1
- package/dist/cli/commands/query.d.ts.map +1 -1
- package/dist/cli/commands/query.js +59 -8
- package/dist/cli/commands/query.js.map +1 -1
- package/dist/daemon/handlers/post-tool-use-handler.d.ts.map +1 -1
- package/dist/daemon/handlers/post-tool-use-handler.js +10 -12
- package/dist/daemon/handlers/post-tool-use-handler.js.map +1 -1
- package/dist/daemon/handlers/pre-tool-use-handler.d.ts.map +1 -1
- package/dist/daemon/handlers/pre-tool-use-handler.js +4 -1
- package/dist/daemon/handlers/pre-tool-use-handler.js.map +1 -1
- package/dist/daemon/handlers/safe-handler.d.ts +15 -0
- package/dist/daemon/handlers/safe-handler.d.ts.map +1 -0
- package/dist/daemon/handlers/safe-handler.js +24 -0
- package/dist/daemon/handlers/safe-handler.js.map +1 -0
- package/dist/daemon/handlers/stop-handler.d.ts.map +1 -1
- package/dist/daemon/handlers/stop-handler.js +3 -5
- package/dist/daemon/handlers/stop-handler.js.map +1 -1
- package/dist/daemon/handlers/user-prompt-handler.d.ts +5 -0
- package/dist/daemon/handlers/user-prompt-handler.d.ts.map +1 -1
- package/dist/daemon/handlers/user-prompt-handler.js +70 -0
- package/dist/daemon/handlers/user-prompt-handler.js.map +1 -1
- package/dist/daemon/index.d.ts.map +1 -1
- package/dist/daemon/index.js +1 -0
- package/dist/daemon/index.js.map +1 -1
- package/dist/pattern-engine/index.d.ts +2 -0
- package/dist/pattern-engine/index.d.ts.map +1 -1
- package/dist/pattern-engine/index.js +31 -1
- package/dist/pattern-engine/index.js.map +1 -1
- package/dist/pattern-engine/pattern-router.d.ts +5 -0
- package/dist/pattern-engine/pattern-router.d.ts.map +1 -1
- package/dist/pattern-engine/pattern-router.js +21 -19
- package/dist/pattern-engine/pattern-router.js.map +1 -1
- package/dist/pipeline/artifact-generator.d.ts.map +1 -1
- package/dist/pipeline/artifact-generator.js +24 -6
- package/dist/pipeline/artifact-generator.js.map +1 -1
- package/dist/pipeline/index.d.ts +43 -0
- package/dist/pipeline/index.d.ts.map +1 -1
- package/dist/pipeline/index.js +119 -6
- package/dist/pipeline/index.js.map +1 -1
- package/dist/pipeline/phase-manager.d.ts +8 -0
- package/dist/pipeline/phase-manager.d.ts.map +1 -1
- package/dist/pipeline/phase-manager.js +35 -6
- package/dist/pipeline/phase-manager.js.map +1 -1
- package/dist/pipeline/store.d.ts +5 -0
- package/dist/pipeline/store.d.ts.map +1 -1
- package/dist/pipeline/store.js +8 -0
- package/dist/pipeline/store.js.map +1 -1
- package/dist/retrospective/index.d.ts +7 -0
- package/dist/retrospective/index.d.ts.map +1 -1
- package/dist/retrospective/index.js +41 -1
- package/dist/retrospective/index.js.map +1 -1
- package/dist/storage/index.d.ts +8 -0
- package/dist/storage/index.d.ts.map +1 -1
- package/dist/storage/sqlite.d.ts +33 -0
- package/dist/storage/sqlite.d.ts.map +1 -1
- package/dist/storage/sqlite.js +140 -1
- package/dist/storage/sqlite.js.map +1 -1
- package/dist/strategy/bandit.d.ts +39 -0
- package/dist/strategy/bandit.d.ts.map +1 -0
- package/dist/strategy/bandit.js +79 -0
- package/dist/strategy/bandit.js.map +1 -0
- package/dist/utils/claude-api.d.ts +7 -1
- package/dist/utils/claude-api.d.ts.map +1 -1
- package/dist/utils/claude-api.js +33 -4
- package/dist/utils/claude-api.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base-provider.d.ts","sourceRoot":"","sources":["../../src/ai-provider/base-provider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"base-provider.d.ts","sourceRoot":"","sources":["../../src/ai-provider/base-provider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAK9E;;GAEG;AACH,cAAM,cAAc;IAMhB,OAAO,CAAC,SAAS;IACjB,OAAO,CAAC,OAAO;IANjB,OAAO,CAAC,YAAY,CAAK;IACzB,OAAO,CAAC,eAAe,CAAK;IAC5B,OAAO,CAAC,KAAK,CAA6C;gBAGhD,SAAS,GAAE,MAAU,EACrB,OAAO,GAAE,MAAe;IAG5B,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAqBlD,OAAO,CAAC,aAAa;IAQrB,OAAO,CAAC,KAAK;IAKb,QAAQ,IAAI,QAAQ,GAAG,MAAM,GAAG,WAAW;CAG5C;AAED;;;;GAIG;AACH,8BAAsB,YAAa,YAAW,UAAU;IACtD,SAAS,CAAC,KAAK,EAAE,YAAY,CAS3B;IAEF,SAAS,CAAC,cAAc,iBAAiC;IAEzD;;OAEG;IACH,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAEjF;;;;;OAKG;IACG,QAAQ,CACZ,MAAM,EAAE,MAAM,EACd,KAAK,GAAE,MAAkB,EACzB,gBAAgB,CAAC,EAAE,MAAM,GAAG,iBAAiB,EAC7C,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,MAAM,CAAC;IA4ElB,QAAQ,IAAI,QAAQ,CAAC,YAAY,CAAC;IASlC,WAAW,IAAI,MAAM;CAatB"}
|
|
@@ -60,6 +60,8 @@ export class BaseProvider {
|
|
|
60
60
|
totalLatencyMs: 0,
|
|
61
61
|
totalRetries: 0,
|
|
62
62
|
circuitBreakerTrips: 0,
|
|
63
|
+
totalTokensIn: 0,
|
|
64
|
+
totalTokensOut: 0,
|
|
63
65
|
byLabel: {},
|
|
64
66
|
};
|
|
65
67
|
circuitBreaker = new CircuitBreaker(5, 60_000);
|
|
@@ -89,7 +91,7 @@ export class BaseProvider {
|
|
|
89
91
|
}
|
|
90
92
|
this.stats.totalCalls++;
|
|
91
93
|
if (!this.stats.byLabel[label]) {
|
|
92
|
-
this.stats.byLabel[label] = { calls: 0, errors: 0, latencyMs: 0, retries: 0 };
|
|
94
|
+
this.stats.byLabel[label] = { calls: 0, errors: 0, latencyMs: 0, retries: 0, tokensIn: 0, tokensOut: 0 };
|
|
93
95
|
}
|
|
94
96
|
this.stats.byLabel[label].calls++;
|
|
95
97
|
const startTime = Date.now();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base-provider.js","sourceRoot":"","sources":["../../src/ai-provider/base-provider.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"base-provider.js","sourceRoot":"","sources":["../../src/ai-provider/base-provider.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
import type { AIProvider } from './types.js';
|
|
2
|
+
import type { SQLiteStorage } from '../storage/sqlite.js';
|
|
2
3
|
export type ProviderType = 'claude' | 'openai' | 'ollama';
|
|
3
4
|
export interface ProviderConfig {
|
|
4
5
|
type: ProviderType;
|
|
5
6
|
apiKey?: string;
|
|
6
7
|
model?: string;
|
|
7
8
|
baseUrl?: string;
|
|
9
|
+
storage?: SQLiteStorage;
|
|
8
10
|
}
|
|
9
11
|
/**
|
|
10
12
|
* AI Provider 工厂函数
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../src/ai-provider/factory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../src/ai-provider/factory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAI7C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAE1D,MAAM,MAAM,YAAY,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAE1D,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,YAAY,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,aAAa,CAAC;CACzB;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,cAAc,GAAG,UAAU,CAajE"}
|
|
@@ -8,7 +8,7 @@ import { OllamaProvider } from './ollama-provider.js';
|
|
|
8
8
|
export function createProvider(config) {
|
|
9
9
|
switch (config.type) {
|
|
10
10
|
case 'claude':
|
|
11
|
-
return new ClaudeAPI(config.apiKey, config.model, config.baseUrl);
|
|
11
|
+
return new ClaudeAPI(config.apiKey, config.model, config.baseUrl, config.storage);
|
|
12
12
|
case 'openai':
|
|
13
13
|
return new OpenAIProvider(config.apiKey, config.model, config.baseUrl);
|
|
14
14
|
case 'ollama':
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"factory.js","sourceRoot":"","sources":["../../src/ai-provider/factory.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"factory.js","sourceRoot":"","sources":["../../src/ai-provider/factory.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAatD;;;GAGG;AACH,MAAM,UAAU,cAAc,CAAC,MAAsB;IACnD,QAAQ,MAAM,CAAC,IAAI,EAAE,CAAC;QACpB,KAAK,QAAQ;YACX,OAAO,IAAI,SAAS,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;QACpF,KAAK,QAAQ;YACX,OAAO,IAAI,cAAc,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;QACzE,KAAK,QAAQ;YACX,OAAO,IAAI,cAAc,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;QAC1D,OAAO,CAAC,CAAC,CAAC;YACR,MAAM,WAAW,GAAU,MAAM,CAAC,IAAI,CAAC;YACvC,MAAM,IAAI,KAAK,CAAC,gBAAgB,WAAW,EAAE,CAAC,CAAC;QACjD,CAAC;IACH,CAAC;AACH,CAAC"}
|
|
@@ -14,12 +14,18 @@ export interface ApiCallStats {
|
|
|
14
14
|
totalLatencyMs: number;
|
|
15
15
|
totalRetries: number;
|
|
16
16
|
circuitBreakerTrips: number;
|
|
17
|
+
/** 累计输入 token 数 */
|
|
18
|
+
totalTokensIn: number;
|
|
19
|
+
/** 累计输出 token 数 */
|
|
20
|
+
totalTokensOut: number;
|
|
17
21
|
/** 按调用方分组的统计,key 为 label 参数(默认 'unknown') */
|
|
18
22
|
byLabel: Record<string, {
|
|
19
23
|
calls: number;
|
|
20
24
|
errors: number;
|
|
21
25
|
latencyMs: number;
|
|
22
26
|
retries: number;
|
|
27
|
+
tokensIn: number;
|
|
28
|
+
tokensOut: number;
|
|
23
29
|
}>;
|
|
24
30
|
}
|
|
25
31
|
export interface AIProvider {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/ai-provider/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,WAAW,iBAAiB;IAChC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,YAAY;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;IACrB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,6CAA6C;IAC7C,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/ai-provider/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,WAAW,iBAAiB;IAChC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,YAAY;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;IACrB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,mBAAmB;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,mBAAmB;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,6CAA6C;IAC7C,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACrI;AAED,MAAM,WAAW,UAAU;IACzB;;;;;OAKG;IACH,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAEvF;;OAEG;IACH,QAAQ,IAAI,QAAQ,CAAC,YAAY,CAAC,CAAC;IAEnC;;OAEG;IACH,WAAW,IAAI,MAAM,CAAC;CACvB;AAED,qBAAa,eAAgB,SAAQ,KAAK;gBAC5B,SAAS,EAAE,MAAM;CAI9B;AAED,qBAAa,gBAAiB,SAAQ,KAAK;;CAK1C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/ai-provider/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/ai-provider/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AA2CH,MAAM,OAAO,eAAgB,SAAQ,KAAK;IACxC,YAAY,SAAiB;QAC3B,KAAK,CAAC,YAAY,SAAS,KAAK,CAAC,CAAC;QAClC,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAC;IAChC,CAAC;CACF;AAED,MAAM,OAAO,gBAAiB,SAAQ,KAAK;IACzC;QACE,KAAK,CAAC,oBAAoB,CAAC,CAAC;QAC5B,IAAI,CAAC,IAAI,GAAG,kBAAkB,CAAC;IACjC,CAAC;CACF"}
|
|
@@ -97,7 +97,7 @@ export declare class QualityGateEngine {
|
|
|
97
97
|
reviewPhaseCompletion(phase: PipelinePhase, requirement: string, phaseContext: string): Promise<QualityResult | null>;
|
|
98
98
|
/**
|
|
99
99
|
* 阶段完成时的质量门禁检查(每阶段触发一次,非每次 Write/Edit)
|
|
100
|
-
* 返回 null
|
|
100
|
+
* 返回 null 表示不适用(工具类型不匹配、非代码文件等);失败时返回 warn 而非静默放行
|
|
101
101
|
*/
|
|
102
102
|
reviewForPhase(event: ForgeEvent, phase: PipelinePhase): Promise<QualityResult | null>;
|
|
103
103
|
private getMandatoryCategoriesForPhase;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"quality-gate.d.ts","sourceRoot":"","sources":["../../src/autopilot/quality-gate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAE1D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"quality-gate.d.ts","sourceRoot":"","sources":["../../src/autopilot/quality-gate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAE1D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAE1D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAE9D,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;AAEpD,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,YAAY,CAAC;IACpB,MAAM,EAAE,YAAY,EAAE,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,GAAG,MAAM,GAAG,aAAa,CAAC;IACnE,KAAK,EAAE,YAAY,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;;;;;;;;;;;;GAaG;AACH,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,GAAG,CAAa;IACxB,OAAO,CAAC,kBAAkB,CAAc;IACxC,OAAO,CAAC,aAAa,CAAgG;IACrH,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,YAAY,CAA0B;IAC9C,OAAO,CAAC,mBAAmB,CAAyB;IACpD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,kBAAkB,CAAM;gBAEpC,GAAG,EAAE,UAAU;IAI3B;;OAEG;IACH,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI;IAIzC;;;OAGG;IACH,sBAAsB,CAAC,SAAS,EAAE,eAAe,EAAE,GAAG,IAAI;IAI1D;;;OAGG;IACG,MAAM,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC;IA4B9D;;OAEG;YACW,QAAQ;IAsDtB;;OAEG;IACH,iBAAiB,CAAC,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IA0BzE;;OAEG;IACH,QAAQ,CAAC,QAAQ,EAAE,OAAO,EAAE,UAAU,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI;IAgBxD;;OAEG;IACH,cAAc,IAAI,MAAM;IAyCxB;;;OAGG;IACH,qBAAqB,IAAI,KAAK,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,YAAY,EAAE,CAAA;KAAE,CAAC;IAM3E;;;OAGG;IACH,YAAY,IAAI,MAAM;IAItB;;;OAGG;IACH,YAAY,IAAI,MAAM;IAItB;;OAEG;IACH,KAAK,IAAI,IAAI;IAOb;;;OAGG;IACG,qBAAqB,CAAC,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC;IA8E3H;;;OAGG;IACG,cAAc,CAAC,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC;IAiG5F,OAAO,CAAC,8BAA8B;IAWtC,OAAO,CAAC,WAAW;IAiDnB,OAAO,CAAC,aAAa;CAQtB"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { logger } from '../utils/logger.js';
|
|
2
|
+
import { PHASE_LABELS } from '../pipeline/types.js';
|
|
2
3
|
/**
|
|
3
4
|
* QualityGateEngine — AI 驱动的质量门禁
|
|
4
5
|
*
|
|
@@ -278,20 +279,41 @@ ${mandatoryNote}${conventionNote}
|
|
|
278
279
|
- 如果产出质量 OK,直接 pass
|
|
279
280
|
- 必须通过维度中有任何 fail → 整体 level 必须为 fail
|
|
280
281
|
- 只输出 JSON`;
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
282
|
+
// 最多重试 2 次(首次 + 1 次重试)
|
|
283
|
+
for (let attempt = 1; attempt <= 2; attempt++) {
|
|
284
|
+
try {
|
|
285
|
+
const response = await this.api.complete(prompt, 'quality-gate-phase-completion');
|
|
286
|
+
const result = this.parseResult(response, `[${phase}阶段]`);
|
|
287
|
+
logger.info(`[质量门禁] 阶段完成度检查 ${phase}:${result.level} — ${result.summary}`);
|
|
288
|
+
return result;
|
|
289
|
+
}
|
|
290
|
+
catch (err) {
|
|
291
|
+
if (attempt < 2) {
|
|
292
|
+
logger.warn(`[质量门禁] 阶段完成度检查失败(第 ${attempt} 次),重试中:${err}`);
|
|
293
|
+
await new Promise(r => setTimeout(r, 3000));
|
|
294
|
+
}
|
|
295
|
+
else {
|
|
296
|
+
// 两次均失败:返回 warn 而非 null,阻止静默放行
|
|
297
|
+
logger.warn(`[质量门禁] 阶段完成度检查连续失败,降级为 warn 阻断:${err}`);
|
|
298
|
+
return {
|
|
299
|
+
level: 'warn',
|
|
300
|
+
checks: [{
|
|
301
|
+
category: 'quality',
|
|
302
|
+
level: 'warn',
|
|
303
|
+
message: `质量门禁 AI 检查失败(${err}),无法确认阶段质量`,
|
|
304
|
+
suggestion: '请手动确认本阶段产出符合要求后继续',
|
|
305
|
+
}],
|
|
306
|
+
summary: `质量门禁检查失败(API 超时/错误),请手动确认 ${PHASE_LABELS[phase]} 阶段质量`,
|
|
307
|
+
};
|
|
308
|
+
}
|
|
309
|
+
}
|
|
290
310
|
}
|
|
311
|
+
// TypeScript 要求:实际不可达,但需要返回值
|
|
312
|
+
return null;
|
|
291
313
|
}
|
|
292
314
|
/**
|
|
293
315
|
* 阶段完成时的质量门禁检查(每阶段触发一次,非每次 Write/Edit)
|
|
294
|
-
* 返回 null
|
|
316
|
+
* 返回 null 表示不适用(工具类型不匹配、非代码文件等);失败时返回 warn 而非静默放行
|
|
295
317
|
*/
|
|
296
318
|
async reviewForPhase(event, phase) {
|
|
297
319
|
const toolName = event.tool_name || '';
|
|
@@ -308,15 +330,14 @@ ${mandatoryNote}${conventionNote}
|
|
|
308
330
|
const mandatoryCategories = this.getMandatoryCategoriesForPhase(phase);
|
|
309
331
|
// Convention must-severity 规范:作为额外强制检查条目注入
|
|
310
332
|
const mustRules = this.conventionStandards.filter(s => s.severity === 'must');
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
const prompt = `你是一个资深代码审查员。请审查以下代码变更(Pipeline 阶段质量门禁)。
|
|
333
|
+
const suppressedCategories = Array.from(this.skipPatterns);
|
|
334
|
+
const mandatoryNote = mandatoryCategories.length > 0
|
|
335
|
+
? `\n## 本阶段(${phase})必须通过的检查维度\n${mandatoryCategories.join(', ')}`
|
|
336
|
+
: '';
|
|
337
|
+
const conventionNote = mustRules.length > 0
|
|
338
|
+
? `\n## 项目规范强制要求(must 级别,违反即 fail)\n${mustRules.map(r => `- [${r.category}] ${r.rule}`).join('\n')}`
|
|
339
|
+
: '';
|
|
340
|
+
const prompt = `你是一个资深代码审查员。请审查以下代码变更(Pipeline 阶段质量门禁)。
|
|
320
341
|
|
|
321
342
|
## 操作
|
|
322
343
|
${toolName} → ${filePath}
|
|
@@ -356,15 +377,37 @@ ${suppressedCategories.length > 0 ? `## 已抑制的检查类别\n${suppressedCa
|
|
|
356
377
|
- 必须通过维度中有任何 fail → 整体 level 必须为 fail
|
|
357
378
|
- 项目规范强制要求(must 级别)违反 → 整体 level 必须为 fail
|
|
358
379
|
- 只输出 JSON`;
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
380
|
+
// 最多重试 2 次(首次 + 1 次重试)
|
|
381
|
+
for (let attempt = 1; attempt <= 2; attempt++) {
|
|
382
|
+
try {
|
|
383
|
+
const response = await this.api.complete(prompt, 'quality-gate-phase');
|
|
384
|
+
const result = this.parseResult(response, filePath);
|
|
385
|
+
logger.info(`[质量门禁] 阶段 ${phase} 检查完成:${result.level} — ${result.summary}`);
|
|
386
|
+
return result;
|
|
387
|
+
}
|
|
388
|
+
catch (err) {
|
|
389
|
+
if (attempt < 2) {
|
|
390
|
+
logger.warn(`[质量门禁] 阶段 ${phase} 检查失败(第 ${attempt} 次),重试中:${err}`);
|
|
391
|
+
await new Promise(r => setTimeout(r, 3000));
|
|
392
|
+
}
|
|
393
|
+
else {
|
|
394
|
+
// 两次均失败:返回 warn 而非 null,阻止静默放行
|
|
395
|
+
logger.warn(`[质量门禁] 阶段 ${phase} 检查连续失败,降级为 warn 阻断:${err}`);
|
|
396
|
+
return {
|
|
397
|
+
level: 'warn',
|
|
398
|
+
checks: [{
|
|
399
|
+
category: 'quality',
|
|
400
|
+
level: 'warn',
|
|
401
|
+
message: `质量门禁 AI 检查失败(${err}),无法确认代码质量`,
|
|
402
|
+
suggestion: '请手动确认代码符合要求后继续',
|
|
403
|
+
}],
|
|
404
|
+
summary: `质量门禁检查失败(API 超时/错误),请手动确认 ${filePath} 质量`,
|
|
405
|
+
};
|
|
406
|
+
}
|
|
407
|
+
}
|
|
367
408
|
}
|
|
409
|
+
// TypeScript 要求:实际不可达,但需要返回值
|
|
410
|
+
return null;
|
|
368
411
|
}
|
|
369
412
|
getMandatoryCategoriesForPhase(phase) {
|
|
370
413
|
switch (phase) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"quality-gate.js","sourceRoot":"","sources":["../../src/autopilot/quality-gate.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"quality-gate.js","sourceRoot":"","sources":["../../src/autopilot/quality-gate.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"query.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/query.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAQpC,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"query.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/query.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAQpC,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAgL3D"}
|
|
@@ -86,25 +86,76 @@ export function registerQueryCommand(program) {
|
|
|
86
86
|
});
|
|
87
87
|
query
|
|
88
88
|
.command('stats')
|
|
89
|
-
.description('Show storage statistics')
|
|
90
|
-
.
|
|
89
|
+
.description('Show storage statistics and observability metrics')
|
|
90
|
+
.option('--days <n>', 'Lookback window in days', '7')
|
|
91
|
+
.action(async (options) => {
|
|
91
92
|
try {
|
|
92
93
|
const config = ConfigManager.getInstance().get();
|
|
93
94
|
const dbPath = expandPath(config.storage.path);
|
|
94
95
|
const storage = new SQLiteStorage(dbPath);
|
|
96
|
+
const days = parseInt(options.days, 10) || 7;
|
|
95
97
|
const totalEvents = storage.countEvents({});
|
|
96
98
|
const undistilled = storage.countEvents({ distilled: false });
|
|
97
99
|
const sessions = storage.querySessions({});
|
|
98
100
|
const activeSessions = sessions.filter((s) => s.status === 'active');
|
|
99
101
|
const sizeBytes = storage.getStorageSize();
|
|
100
102
|
const sizeMB = (sizeBytes / 1024 / 1024).toFixed(2);
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
['
|
|
105
|
-
['
|
|
106
|
-
['
|
|
103
|
+
// 基础存储统计
|
|
104
|
+
info('\n── 存储统计 ──────────────────────────────');
|
|
105
|
+
table(['指标', '值'], [
|
|
106
|
+
['总事件数', String(totalEvents)],
|
|
107
|
+
['待蒸馏事件', String(undistilled)],
|
|
108
|
+
['总会话数', String(sessions.length)],
|
|
109
|
+
['活跃会话', String(activeSessions.length)],
|
|
110
|
+
['数据库大小', `${sizeMB} MB`],
|
|
107
111
|
]);
|
|
112
|
+
// Token 消耗统计
|
|
113
|
+
try {
|
|
114
|
+
const usageSummary = storage.getApiUsageSummary(undefined, days);
|
|
115
|
+
if (usageSummary.length > 0) {
|
|
116
|
+
info(`\n── Token 消耗(最近 ${days} 天)──────────────`);
|
|
117
|
+
let totalIn = 0, totalOut = 0, totalCost = 0;
|
|
118
|
+
const rows = [];
|
|
119
|
+
for (const row of usageSummary) {
|
|
120
|
+
const label = String(row['label'] ?? '—');
|
|
121
|
+
const tokIn = Number(row['tokens_in'] ?? 0);
|
|
122
|
+
const tokOut = Number(row['tokens_out'] ?? 0);
|
|
123
|
+
const cost = Number(row['cost_usd'] ?? 0);
|
|
124
|
+
totalIn += tokIn;
|
|
125
|
+
totalOut += tokOut;
|
|
126
|
+
totalCost += cost;
|
|
127
|
+
rows.push([label, tokIn.toLocaleString(), tokOut.toLocaleString(), `$${cost.toFixed(4)}`]);
|
|
128
|
+
}
|
|
129
|
+
rows.push(['合计', totalIn.toLocaleString(), totalOut.toLocaleString(), `$${totalCost.toFixed(4)}`]);
|
|
130
|
+
table(['标签', '输入 Token', '输出 Token', '估算成本'], rows);
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
catch { /* 旧版 DB 无此表,静默跳过 */ }
|
|
134
|
+
// 满意度趋势
|
|
135
|
+
try {
|
|
136
|
+
const avgSatisfaction = storage.getAverageSatisfaction(undefined, days);
|
|
137
|
+
if (avgSatisfaction > 0) {
|
|
138
|
+
const pct = (avgSatisfaction * 100).toFixed(1);
|
|
139
|
+
const bar = '█'.repeat(Math.round(avgSatisfaction * 20)) + '░'.repeat(20 - Math.round(avgSatisfaction * 20));
|
|
140
|
+
info(`\n── 满意度趋势(最近 ${days} 天)──────────────`);
|
|
141
|
+
info(`平均满意度:${pct}% ${bar}`);
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
catch { /* 静默跳过 */ }
|
|
145
|
+
// 模式效果排行
|
|
146
|
+
try {
|
|
147
|
+
const topPatterns = storage.getTopPatterns('', 5);
|
|
148
|
+
if (topPatterns.length > 0) {
|
|
149
|
+
info('\n── 模式效果排行(Top 5)──────────────────');
|
|
150
|
+
table(['模式 ID', '采用次数', '效果评分', '最近使用'], topPatterns.map(p => [
|
|
151
|
+
String(p['task_type'] ?? p['id'] ?? '—').slice(0, 30),
|
|
152
|
+
String(p['adoption_count'] ?? 0),
|
|
153
|
+
`${(Number(p['effectiveness_score'] ?? 0.5) * 100).toFixed(0)}%`,
|
|
154
|
+
String(p['last_used'] ?? '—').slice(0, 16),
|
|
155
|
+
]));
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
catch { /* 静默跳过 */ }
|
|
108
159
|
storage.close();
|
|
109
160
|
}
|
|
110
161
|
catch (err) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"query.js","sourceRoot":"","sources":["../../../src/cli/commands/query.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"query.js","sourceRoot":"","sources":["../../../src/cli/commands/query.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"post-tool-use-handler.d.ts","sourceRoot":"","sources":["../../../src/daemon/handlers/post-tool-use-handler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"post-tool-use-handler.d.ts","sourceRoot":"","sources":["../../../src/daemon/handlers/post-tool-use-handler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAKpD,qBAAa,kBAAmB,SAAQ,eAAe;gBACzC,GAAG,EAAE,cAAc;IAIzB,MAAM,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC;CA+H9D"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { BaseHookHandler } from './base-handler.js';
|
|
2
|
+
import { withSafeHandler } from './safe-handler.js';
|
|
2
3
|
import { logger } from '../../utils/logger.js';
|
|
3
4
|
import { ForgeFormatter } from '../../utils/formatter.js';
|
|
4
5
|
export class PostToolUseHandler extends BaseHookHandler {
|
|
@@ -18,10 +19,12 @@ export class PostToolUseHandler extends BaseHookHandler {
|
|
|
18
19
|
}
|
|
19
20
|
// 1.5 Pattern 状态机推进
|
|
20
21
|
if (patternEngine) {
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
22
|
+
await withSafeHandler('Pattern状态机推进', async () => {
|
|
23
|
+
const nextPhaseId = await patternEngine.onPostToolUse(event);
|
|
24
|
+
if (nextPhaseId) {
|
|
25
|
+
logger.info(`[Forge:Pattern] 推进到下一阶段:${nextPhaseId}`);
|
|
26
|
+
}
|
|
27
|
+
});
|
|
25
28
|
}
|
|
26
29
|
const notifications = [];
|
|
27
30
|
// 2. Pipeline 进度跟踪
|
|
@@ -42,15 +45,10 @@ export class PostToolUseHandler extends BaseHookHandler {
|
|
|
42
45
|
}
|
|
43
46
|
if (pipelineResult.qualityBlocked && pipelineResult.qualityIssues?.length) {
|
|
44
47
|
const issuesList = pipelineResult.qualityIssues.join('\n');
|
|
45
|
-
const blockMsg = `[Forge 质量门禁] 当前阶段质量检查未通过,请修复后继续:\n${issuesList}`;
|
|
46
48
|
logger.warn(`[Forge:质量门禁] 阶段推进被拦截`);
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
? ForgeFormatter.mergeContexts(...notifications)
|
|
51
|
-
: undefined;
|
|
52
|
-
return { allow: true, additionalContext: finalCtx, systemMessage: pipelineResult.systemMessage };
|
|
53
|
-
}
|
|
49
|
+
const reason = pipelineResult.systemMessage
|
|
50
|
+
?? `[Forge 质量门禁] ❌ 质量检查未通过,必须修复后才能继续:\n\n${issuesList}`;
|
|
51
|
+
return { allow: false, reason };
|
|
54
52
|
}
|
|
55
53
|
const pipelineNotify = pipelineResult.message;
|
|
56
54
|
if (pipelineNotify) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"post-tool-use-handler.js","sourceRoot":"","sources":["../../../src/daemon/handlers/post-tool-use-handler.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAE1D,MAAM,OAAO,kBAAmB,SAAQ,eAAe;IACrD,YAAY,GAAmB;QAC7B,KAAK,CAAC,GAAG,CAAC,CAAC;IACb,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,KAAiB;QAC5B,MAAM,EAAE,aAAa,EAAE,aAAa,EAAE,cAAc,EAAE,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,aAAa,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC;QAEnI,YAAY;QACZ,IAAI,aAAa;YAAE,aAAa,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;QAC1D,MAAM,aAAa,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QAExC,kCAAkC;QAClC,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,IAAI,EAAE,CAAC;QACxC,IAAI,CAAC,SAAS,KAAK,OAAO,IAAI,SAAS,KAAK,MAAM,CAAC,IAAI,YAAY,EAAE,CAAC;YACpE,YAAY,CAAC,wBAAwB,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QAC5D,CAAC;QAED,oBAAoB;QACpB,IAAI,aAAa,EAAE,CAAC;YAClB,MAAM,WAAW,GAAG,MAAM,aAAa,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"post-tool-use-handler.js","sourceRoot":"","sources":["../../../src/daemon/handlers/post-tool-use-handler.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pre-tool-use-handler.d.ts","sourceRoot":"","sources":["../../../src/daemon/handlers/pre-tool-use-handler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"pre-tool-use-handler.d.ts","sourceRoot":"","sources":["../../../src/daemon/handlers/pre-tool-use-handler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAMpD,qBAAa,iBAAkB,SAAQ,eAAe;IACpD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAwB;gBAE3C,GAAG,EAAE,cAAc;IAIzB,MAAM,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC;IAqD7D,OAAO,CAAC,mBAAmB;CAsB5B"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { BaseHookHandler } from './base-handler.js';
|
|
2
2
|
import { PromptInjector } from '../../claudemd/prompt-injector.js';
|
|
3
|
+
import { withSafeHandler } from './safe-handler.js';
|
|
3
4
|
import { logger } from '../../utils/logger.js';
|
|
4
5
|
import { ForgeFormatter } from '../../utils/formatter.js';
|
|
5
6
|
export class PreToolUseHandler extends BaseHookHandler {
|
|
@@ -32,7 +33,9 @@ export class PreToolUseHandler extends BaseHookHandler {
|
|
|
32
33
|
}
|
|
33
34
|
// 3. Pipeline 阶段指令注入
|
|
34
35
|
if (pipelineEngine) {
|
|
35
|
-
const pipelineInstruction = await
|
|
36
|
+
const pipelineInstruction = await withSafeHandler('Pipeline阶段指令注入', async () => {
|
|
37
|
+
return pipelineEngine.handlePreToolUse(event);
|
|
38
|
+
});
|
|
36
39
|
if (pipelineInstruction) {
|
|
37
40
|
logger.info(`已注入编排阶段指令:${pipelineInstruction.substring(0, 80)}...`);
|
|
38
41
|
decision = this.appendContext(decision, ForgeFormatter.formatModuleNotification('pipeline', pipelineInstruction));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pre-tool-use-handler.js","sourceRoot":"","sources":["../../../src/daemon/handlers/pre-tool-use-handler.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AACnE,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAE1D,MAAM,OAAO,iBAAkB,SAAQ,eAAe;IACnC,cAAc,GAAG,IAAI,cAAc,EAAE,CAAC;IAEvD,YAAY,GAAmB;QAC7B,KAAK,CAAC,GAAG,CAAC,CAAC;IACb,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,KAAiB;QAC5B,MAAM,EAAE,aAAa,EAAE,aAAa,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,EAAE,eAAe,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC;QAEzG,IAAI,QAAQ,GAAwB,IAAI,CAAC;QAEzC,0BAA0B;QAC1B,IAAI,aAAa,EAAE,CAAC;YAClB,QAAQ,GAAG,aAAa,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;YACnD,IAAI,QAAQ,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;gBAChC,MAAM,CAAC,IAAI,CAAC,oBAAoB,KAAK,CAAC,SAAS,aAAa,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;gBAC/E,OAAO,QAAQ,CAAC;YAClB,CAAC;QACH,CAAC;QAED,4CAA4C;QAC5C,MAAM,YAAY,GAAG,cAAc,EAAE,2BAA2B,CAAC,KAAK,CAAC,YAAY,CAAC,EAAE,KAAK,CAAC;QAC5F,MAAM,QAAQ,GAAG,MAAM,aAAa,CAAC,YAAY,CAAC,KAAK,EAAE,YAAY,IAAI,SAAS,CAAC,CAAC;QACpF,IAAI,QAAQ,EAAE,CAAC;YACb,yCAAyC;YACzC,MAAM,UAAU,GAAG,QAAQ,CAAC,KAAK,CAAC,kBAAkB,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,WAAW,CAAC;YAClH,MAAM,CAAC,IAAI,CAAC,gBAAgB,KAAK,CAAC,SAAS,KAAK,UAAU,EAAE,CAAC,CAAC;YAC9D,QAAQ,GAAG,IAAI,CAAC,aAAa,CAC3B,QAAQ,EACR,cAAc,CAAC,wBAAwB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAC3D,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,KAAK,CAAC,eAAe,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC;QAClD,CAAC;QAED,qBAAqB;QACrB,IAAI,cAAc,EAAE,CAAC;YACnB,MAAM,mBAAmB,GAAG,MAAM,cAAc,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"pre-tool-use-handler.js","sourceRoot":"","sources":["../../../src/daemon/handlers/pre-tool-use-handler.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SafeHandler — 统一错误边界包装器
|
|
3
|
+
*
|
|
4
|
+
* 将 handler 子任务包裹在 try/catch 中,捕获异常后记录日志并返回 fallback 值。
|
|
5
|
+
* 防止单个子任务异常导致整个 handle() 流程崩溃。
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* 安全执行异步函数,捕获所有异常并返回 fallback。
|
|
9
|
+
*
|
|
10
|
+
* @param name 任务名称(用于日志标识)
|
|
11
|
+
* @param fn 要执行的异步函数
|
|
12
|
+
* @param fallback 异常时的返回值(默认 undefined)
|
|
13
|
+
*/
|
|
14
|
+
export declare function withSafeHandler<T>(name: string, fn: () => Promise<T>, fallback?: T): Promise<T | undefined>;
|
|
15
|
+
//# sourceMappingURL=safe-handler.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"safe-handler.d.ts","sourceRoot":"","sources":["../../../src/daemon/handlers/safe-handler.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH;;;;;;GAMG;AACH,wBAAsB,eAAe,CAAC,CAAC,EACrC,IAAI,EAAE,MAAM,EACZ,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EACpB,QAAQ,CAAC,EAAE,CAAC,GACX,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC,CAOxB"}
|