@winspan/claude-forge 8.13.0 → 8.15.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/dist/agents/definition.d.ts +53 -0
- package/dist/agents/definition.d.ts.map +1 -0
- package/dist/agents/definition.js +24 -0
- package/dist/agents/definition.js.map +1 -0
- package/dist/agents/distributor.d.ts +23 -0
- package/dist/agents/distributor.d.ts.map +1 -0
- package/dist/agents/distributor.js +85 -0
- package/dist/agents/distributor.js.map +1 -0
- package/dist/agents/index.d.ts +5 -0
- package/dist/agents/index.d.ts.map +1 -0
- package/dist/agents/index.js +5 -0
- package/dist/agents/index.js.map +1 -0
- package/dist/agents/official-agents.d.ts +14 -0
- package/dist/agents/official-agents.d.ts.map +1 -0
- package/dist/agents/official-agents.js +522 -0
- package/dist/agents/official-agents.js.map +1 -0
- package/dist/agents/registry.d.ts +27 -0
- package/dist/agents/registry.d.ts.map +1 -0
- package/dist/agents/registry.js +105 -0
- package/dist/agents/registry.js.map +1 -0
- package/dist/cli/commands/init.d.ts.map +1 -1
- package/dist/cli/commands/init.js +17 -0
- package/dist/cli/commands/init.js.map +1 -1
- package/dist/core/storage/schema.sql +60 -0
- package/dist/core/storage/sqlite.d.ts +73 -0
- package/dist/core/storage/sqlite.d.ts.map +1 -1
- package/dist/core/storage/sqlite.js +159 -0
- package/dist/core/storage/sqlite.js.map +1 -1
- package/dist/daemon/auto-disable-scheduler.d.ts +53 -0
- package/dist/daemon/auto-disable-scheduler.d.ts.map +1 -0
- package/dist/daemon/auto-disable-scheduler.js +114 -0
- package/dist/daemon/auto-disable-scheduler.js.map +1 -0
- package/dist/daemon/handlers/post-tool-use.d.ts +3 -1
- package/dist/daemon/handlers/post-tool-use.d.ts.map +1 -1
- package/dist/daemon/handlers/post-tool-use.js +14 -2
- package/dist/daemon/handlers/post-tool-use.js.map +1 -1
- package/dist/daemon/handlers/stop.d.ts +3 -1
- package/dist/daemon/handlers/stop.d.ts.map +1 -1
- package/dist/daemon/handlers/stop.js +14 -1
- package/dist/daemon/handlers/stop.js.map +1 -1
- package/dist/daemon/handlers/user-prompt.d.ts +18 -5
- package/dist/daemon/handlers/user-prompt.d.ts.map +1 -1
- package/dist/daemon/handlers/user-prompt.js +104 -21
- package/dist/daemon/handlers/user-prompt.js.map +1 -1
- package/dist/daemon/index.d.ts.map +1 -1
- package/dist/daemon/index.js +42 -12
- package/dist/daemon/index.js.map +1 -1
- package/dist/daemon/routing-observer.d.ts +39 -0
- package/dist/daemon/routing-observer.d.ts.map +1 -0
- package/dist/daemon/routing-observer.js +156 -0
- package/dist/daemon/routing-observer.js.map +1 -0
- package/dist/engine/agent-router.d.ts +99 -0
- package/dist/engine/agent-router.d.ts.map +1 -0
- package/dist/engine/agent-router.js +206 -0
- package/dist/engine/agent-router.js.map +1 -0
- package/dist/engine/conventions/routing.yaml +74 -0
- package/dist/engine/evidence-store.d.ts.map +1 -1
- package/dist/engine/evidence-store.js +3 -0
- package/dist/engine/evidence-store.js.map +1 -1
- package/dist/engine/experiment-router.d.ts +102 -0
- package/dist/engine/experiment-router.d.ts.map +1 -0
- package/dist/engine/experiment-router.js +289 -0
- package/dist/engine/experiment-router.js.map +1 -0
- package/dist/engine/recommender.d.ts +52 -0
- package/dist/engine/recommender.d.ts.map +1 -0
- package/dist/engine/recommender.js +150 -0
- package/dist/engine/recommender.js.map +1 -0
- package/dist/intelligence/classifier.d.ts +18 -4
- package/dist/intelligence/classifier.d.ts.map +1 -1
- package/dist/intelligence/classifier.js +90 -20
- package/dist/intelligence/classifier.js.map +1 -1
- package/dist/skills/registry.d.ts.map +1 -1
- package/dist/skills/registry.js +5 -2
- package/dist/skills/registry.js.map +1 -1
- package/dist/web/server.d.ts +4 -0
- package/dist/web/server.d.ts.map +1 -1
- package/dist/web/server.js +482 -11
- package/dist/web/server.js.map +1 -1
- package/dist/web/static/index.html +764 -1
- package/package.json +1 -1
|
@@ -1,17 +1,29 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* IntentClassifier —
|
|
2
|
+
* IntentClassifier — intent classification for UserPromptSubmit routing
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
4
|
+
* Output contract:
|
|
5
|
+
* { complexity, taskType, searchKeywords, reasoning }
|
|
6
|
+
*
|
|
7
|
+
* Layered strategy (fast → slow):
|
|
8
|
+
* 1. Regex ground-truth — explicit simple commands (ls/pwd/...) → skip AI
|
|
9
|
+
* 2. LRU cache — repeated prompts
|
|
10
|
+
* 3. AI classification — 3s hard timeout
|
|
11
|
+
* 4. Regex fallback — AI timeout/failure
|
|
7
12
|
*/
|
|
8
13
|
import type { AIProvider } from '../core/ai/types.js';
|
|
9
14
|
export type Complexity = 'simple' | 'moderate' | 'complex';
|
|
15
|
+
export type TaskType = 'build_system' | 'add_feature' | 'refactor' | 'migrate' | 'fix_bug' | 'analyze_requirement' | 'design_architecture' | 'design_api' | 'design_schema' | 'write_code' | 'write_test' | 'review' | 'audit_security' | 'optimize_perf' | 'write_spec' | 'review_doc' | 'create_pr' | 'explain' | 'other';
|
|
16
|
+
export declare const TASK_TYPES: readonly TaskType[];
|
|
10
17
|
export interface IntentAnalysis {
|
|
11
18
|
requirement: string;
|
|
12
19
|
complexity: Complexity;
|
|
20
|
+
taskType: TaskType;
|
|
13
21
|
searchKeywords: string[];
|
|
14
22
|
reasoning: string;
|
|
23
|
+
/** True when AI timed out or failed and regex fallback was used. */
|
|
24
|
+
fallbackUsed?: boolean;
|
|
25
|
+
/** AI classification latency in ms (undefined when fallback-only path). */
|
|
26
|
+
classificationMs?: number;
|
|
15
27
|
}
|
|
16
28
|
export declare class IntentClassifier {
|
|
17
29
|
private ai;
|
|
@@ -19,9 +31,11 @@ export declare class IntentClassifier {
|
|
|
19
31
|
constructor(ai: AIProvider);
|
|
20
32
|
classify(prompt: string, projectPath: string): Promise<IntentAnalysis>;
|
|
21
33
|
private matchGroundTruth;
|
|
34
|
+
private aiClassifyWithTimeout;
|
|
22
35
|
private aiClassify;
|
|
23
36
|
private parseAIResponse;
|
|
24
37
|
private fallback;
|
|
38
|
+
private guessTaskType;
|
|
25
39
|
private extractKeywords;
|
|
26
40
|
}
|
|
27
41
|
//# sourceMappingURL=classifier.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"classifier.d.ts","sourceRoot":"","sources":["../../src/intelligence/classifier.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"classifier.d.ts","sourceRoot":"","sources":["../../src/intelligence/classifier.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAItD,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG,UAAU,GAAG,SAAS,CAAC;AAE3D,MAAM,MAAM,QAAQ,GAChB,cAAc,GACd,aAAa,GACb,UAAU,GACV,SAAS,GACT,SAAS,GACT,qBAAqB,GACrB,qBAAqB,GACrB,YAAY,GACZ,eAAe,GACf,YAAY,GACZ,YAAY,GACZ,QAAQ,GACR,gBAAgB,GAChB,eAAe,GACf,YAAY,GACZ,YAAY,GACZ,WAAW,GACX,SAAS,GACT,OAAO,CAAC;AAEZ,eAAO,MAAM,UAAU,EAAE,SAAS,QAAQ,EAKhC,CAAC;AAEX,MAAM,WAAW,cAAc;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,UAAU,CAAC;IACvB,QAAQ,EAAE,QAAQ,CAAC;IACnB,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,oEAAoE;IACpE,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,2EAA2E;IAC3E,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AA2CD,qBAAa,gBAAgB;IAGf,OAAO,CAAC,EAAE;IAFtB,OAAO,CAAC,KAAK,CAA4C;gBAErC,EAAE,EAAE,UAAU;IAE5B,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IAgC5E,OAAO,CAAC,gBAAgB;YA4BV,qBAAqB;YAYrB,UAAU;IAgCxB,OAAO,CAAC,eAAe;IA2BvB,OAAO,CAAC,QAAQ;IAUhB,OAAO,CAAC,aAAa;IASrB,OAAO,CAAC,eAAe;CAOxB"}
|
|
@@ -1,13 +1,24 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* IntentClassifier —
|
|
2
|
+
* IntentClassifier — intent classification for UserPromptSubmit routing
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
4
|
+
* Output contract:
|
|
5
|
+
* { complexity, taskType, searchKeywords, reasoning }
|
|
6
|
+
*
|
|
7
|
+
* Layered strategy (fast → slow):
|
|
8
|
+
* 1. Regex ground-truth — explicit simple commands (ls/pwd/...) → skip AI
|
|
9
|
+
* 2. LRU cache — repeated prompts
|
|
10
|
+
* 3. AI classification — 3s hard timeout
|
|
11
|
+
* 4. Regex fallback — AI timeout/failure
|
|
7
12
|
*/
|
|
8
13
|
import { LRUCache } from '../core/utils/lru-cache.js';
|
|
9
14
|
import { logger } from '../core/utils/logger.js';
|
|
10
|
-
|
|
15
|
+
export const TASK_TYPES = [
|
|
16
|
+
'build_system', 'add_feature', 'refactor', 'migrate', 'fix_bug',
|
|
17
|
+
'analyze_requirement', 'design_architecture', 'design_api', 'design_schema',
|
|
18
|
+
'write_code', 'write_test', 'review', 'audit_security', 'optimize_perf',
|
|
19
|
+
'write_spec', 'review_doc', 'create_pr', 'explain', 'other',
|
|
20
|
+
];
|
|
21
|
+
// -- Ground-truth patterns (layer 1) --
|
|
11
22
|
const SIMPLE_PATTERNS = [
|
|
12
23
|
/^(ls|pwd|echo|cat|git status|git log|git diff|git show|git branch)/i,
|
|
13
24
|
/^(help|version|--help|-h)\s*$/i,
|
|
@@ -17,6 +28,31 @@ const COMPLEX_PATTERNS = [
|
|
|
17
28
|
/重写|rewrite|overhaul|从零|from scratch/i,
|
|
18
29
|
/全面|comprehensive|系统性|systematic/i,
|
|
19
30
|
];
|
|
31
|
+
// TaskType fallback rules — keyword buckets used when AI fails.
|
|
32
|
+
// Order matters: earlier wins when multiple buckets would match.
|
|
33
|
+
const TASK_TYPE_KEYWORDS = [
|
|
34
|
+
{ taskType: 'create_pr', patterns: [/提\s*pr|pull request|create pr|发\s*pr|open pr/i] },
|
|
35
|
+
{ taskType: 'build_system', patterns: [/实现.*系统|构建.*系统|搭建.*系统|build a .* system|create a .* system/i] },
|
|
36
|
+
{ taskType: 'review_doc', patterns: [/审.*文档|review.*doc|文档审校|doc review/i] },
|
|
37
|
+
{ taskType: 'review', patterns: [/代码评审|code review|review.*(code|pr)|审.*代码/i] },
|
|
38
|
+
{ taskType: 'audit_security', patterns: [/安全审计|security audit|漏洞扫描|owasp|cve/i] },
|
|
39
|
+
{ taskType: 'optimize_perf', patterns: [/性能|优化|performance|optimize|slow|瓶颈/i] },
|
|
40
|
+
{ taskType: 'write_test', patterns: [/写测试|编写测试|write test|add test|test case|单元测试|集成测试/i] },
|
|
41
|
+
{ taskType: 'write_spec', patterns: [/写.*规范|prd|spec|需求文档|规范文档/i] },
|
|
42
|
+
{ taskType: 'design_api', patterns: [/接口设计|api 设计|api design|restful|openapi/i] },
|
|
43
|
+
{ taskType: 'design_schema', patterns: [/数据模型|schema|table design|建表|索引设计/i] },
|
|
44
|
+
{ taskType: 'design_architecture', patterns: [/架构设计|architecture design|系统设计|模块划分/i] },
|
|
45
|
+
{ taskType: 'analyze_requirement', patterns: [/需求分析|澄清.*需求|requirement analysis|user story/i] },
|
|
46
|
+
{ taskType: 'migrate', patterns: [/迁移|升级|migrate|upgrade/i] },
|
|
47
|
+
{ taskType: 'refactor', patterns: [/重构|refactor|cleanup|restructure/i] },
|
|
48
|
+
{ taskType: 'fix_bug', patterns: [/修.*bug|fix.*bug|修复|报错|异常|crash|error/i] },
|
|
49
|
+
{ taskType: 'add_feature', patterns: [/加一个|新增|实现|add.*feature|implement/i] },
|
|
50
|
+
{ taskType: 'write_code', patterns: [/写一下|写个|写段|write (a |the )?code|code it/i] },
|
|
51
|
+
{ taskType: 'explain', patterns: [/解释|说明|explain|what (does|is)|为什么/i] },
|
|
52
|
+
];
|
|
53
|
+
// Special case: doc writing falls through to skill fallback in Phase 1.
|
|
54
|
+
// Add explicit agent wiring in Phase 2 if needed.
|
|
55
|
+
const AI_TIMEOUT_MS = 3000;
|
|
20
56
|
export class IntentClassifier {
|
|
21
57
|
ai;
|
|
22
58
|
cache = new LRUCache(50);
|
|
@@ -24,48 +60,53 @@ export class IntentClassifier {
|
|
|
24
60
|
this.ai = ai;
|
|
25
61
|
}
|
|
26
62
|
async classify(prompt, projectPath) {
|
|
27
|
-
// Layer 1:
|
|
63
|
+
// Layer 1: ground truth
|
|
28
64
|
const groundTruth = this.matchGroundTruth(prompt);
|
|
29
65
|
if (groundTruth) {
|
|
30
|
-
logger.info(`[IntentClassifier] Ground truth: ${groundTruth.complexity}
|
|
66
|
+
logger.info(`[IntentClassifier] Ground truth: ${groundTruth.complexity}/${groundTruth.taskType}`);
|
|
31
67
|
return groundTruth;
|
|
32
68
|
}
|
|
33
|
-
// Layer 2:
|
|
69
|
+
// Layer 2: cache
|
|
34
70
|
const cacheKey = `${prompt}:${projectPath}`;
|
|
35
71
|
const cached = this.cache.get(cacheKey);
|
|
36
72
|
if (cached) {
|
|
37
73
|
logger.debug('[IntentClassifier] Cache hit');
|
|
38
74
|
return cached;
|
|
39
75
|
}
|
|
40
|
-
// Layer 3: AI
|
|
76
|
+
// Layer 3: AI with hard timeout
|
|
77
|
+
const start = Date.now();
|
|
41
78
|
try {
|
|
42
|
-
const result = await this.
|
|
79
|
+
const result = await this.aiClassifyWithTimeout(prompt, projectPath);
|
|
80
|
+
result.classificationMs = Date.now() - start;
|
|
43
81
|
this.cache.set(cacheKey, result);
|
|
44
82
|
return result;
|
|
45
83
|
}
|
|
46
84
|
catch (err) {
|
|
47
85
|
logger.warn(`[IntentClassifier] AI classification failed, using fallback: ${err}`);
|
|
48
|
-
|
|
86
|
+
const fallback = this.fallback(prompt);
|
|
87
|
+
fallback.fallbackUsed = true;
|
|
88
|
+
fallback.classificationMs = Date.now() - start;
|
|
89
|
+
return fallback;
|
|
49
90
|
}
|
|
50
91
|
}
|
|
51
92
|
matchGroundTruth(prompt) {
|
|
52
|
-
// Simple: known simple command patterns
|
|
53
93
|
for (const pattern of SIMPLE_PATTERNS) {
|
|
54
94
|
if (pattern.test(prompt)) {
|
|
55
95
|
return {
|
|
56
96
|
requirement: prompt,
|
|
57
97
|
complexity: 'simple',
|
|
98
|
+
taskType: 'other',
|
|
58
99
|
searchKeywords: this.extractKeywords(prompt),
|
|
59
100
|
reasoning: `Matches simple command pattern: ${pattern.source}`,
|
|
60
101
|
};
|
|
61
102
|
}
|
|
62
103
|
}
|
|
63
|
-
// Complex: known complex task patterns
|
|
64
104
|
for (const pattern of COMPLEX_PATTERNS) {
|
|
65
105
|
if (pattern.test(prompt)) {
|
|
66
106
|
return {
|
|
67
107
|
requirement: prompt,
|
|
68
108
|
complexity: 'complex',
|
|
109
|
+
taskType: this.guessTaskType(prompt),
|
|
69
110
|
searchKeywords: this.extractKeywords(prompt),
|
|
70
111
|
reasoning: `Matches complex task pattern: ${pattern.source}`,
|
|
71
112
|
};
|
|
@@ -73,21 +114,38 @@ export class IntentClassifier {
|
|
|
73
114
|
}
|
|
74
115
|
return null;
|
|
75
116
|
}
|
|
117
|
+
async aiClassifyWithTimeout(prompt, projectPath) {
|
|
118
|
+
return await Promise.race([
|
|
119
|
+
this.aiClassify(prompt, projectPath),
|
|
120
|
+
new Promise((_, reject) => setTimeout(() => reject(new Error(`AI timeout ${AI_TIMEOUT_MS}ms`)), AI_TIMEOUT_MS)),
|
|
121
|
+
]);
|
|
122
|
+
}
|
|
76
123
|
async aiClassify(prompt, projectPath) {
|
|
77
124
|
const aiPrompt = [
|
|
78
|
-
'Classify the
|
|
79
|
-
'Respond with ONLY a JSON object, no other text.',
|
|
125
|
+
'Classify the user task. Respond with ONLY a JSON object, no other text.',
|
|
80
126
|
'',
|
|
81
|
-
'
|
|
82
|
-
'- simple: single
|
|
127
|
+
'Complexity levels:',
|
|
128
|
+
'- simple: single-file change, quick fix, read-only query',
|
|
83
129
|
'- moderate: multi-file change, new feature, bug fix requiring investigation',
|
|
84
130
|
'- complex: architecture change, migration, large refactor',
|
|
85
131
|
'',
|
|
132
|
+
'taskType enum (choose exactly one):',
|
|
133
|
+
TASK_TYPES.join(', '),
|
|
134
|
+
'',
|
|
135
|
+
'Guidance:',
|
|
136
|
+
'- "帮我实现一个 X 系统" → build_system',
|
|
137
|
+
'- "加一个功能 / 实现 X" → add_feature',
|
|
138
|
+
'- "修 bug / 报错" → fix_bug',
|
|
139
|
+
'- "设计接口" → design_api; "设计表 / schema" → design_schema',
|
|
140
|
+
'- "写测试" → write_test; "评审代码 / PR" → review',
|
|
141
|
+
'- "解释这段代码" → explain',
|
|
142
|
+
'- Default to "other" if none fits',
|
|
143
|
+
'',
|
|
86
144
|
`Project: ${projectPath}`,
|
|
87
145
|
`Task: ${prompt}`,
|
|
88
146
|
'',
|
|
89
147
|
'Response format:',
|
|
90
|
-
'{"complexity": "
|
|
148
|
+
'{"complexity": "...", "taskType": "...", "searchKeywords": ["k1"], "reasoning": "why"}',
|
|
91
149
|
].join('\n');
|
|
92
150
|
const response = await this.ai.complete(aiPrompt);
|
|
93
151
|
return this.parseAIResponse(response, prompt);
|
|
@@ -102,9 +160,13 @@ export class IntentClassifier {
|
|
|
102
160
|
const complexity = (['simple', 'moderate', 'complex'].includes(parsed.complexity)
|
|
103
161
|
? parsed.complexity
|
|
104
162
|
: 'moderate');
|
|
163
|
+
const taskType = TASK_TYPES.includes(parsed.taskType)
|
|
164
|
+
? parsed.taskType
|
|
165
|
+
: 'other';
|
|
105
166
|
return {
|
|
106
167
|
requirement: originalPrompt,
|
|
107
168
|
complexity,
|
|
169
|
+
taskType,
|
|
108
170
|
searchKeywords: Array.isArray(parsed.searchKeywords) ? parsed.searchKeywords : [],
|
|
109
171
|
reasoning: parsed.reasoning || 'AI classification',
|
|
110
172
|
};
|
|
@@ -118,12 +180,20 @@ export class IntentClassifier {
|
|
|
118
180
|
return {
|
|
119
181
|
requirement: prompt,
|
|
120
182
|
complexity: 'moderate',
|
|
183
|
+
taskType: this.guessTaskType(prompt),
|
|
121
184
|
searchKeywords: this.extractKeywords(prompt),
|
|
122
|
-
reasoning: 'Fallback:
|
|
185
|
+
reasoning: 'Fallback: regex-based classification',
|
|
123
186
|
};
|
|
124
187
|
}
|
|
188
|
+
guessTaskType(prompt) {
|
|
189
|
+
for (const bucket of TASK_TYPE_KEYWORDS) {
|
|
190
|
+
if (bucket.patterns.some((p) => p.test(prompt))) {
|
|
191
|
+
return bucket.taskType;
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
return 'other';
|
|
195
|
+
}
|
|
125
196
|
extractKeywords(prompt) {
|
|
126
|
-
// Extract meaningful words (3+ chars, not common stop words)
|
|
127
197
|
const stopWords = new Set(['the', 'and', 'for', 'with', 'this', 'that', 'from', 'have', 'will']);
|
|
128
198
|
return prompt
|
|
129
199
|
.split(/[\s,;.!?]+/)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"classifier.js","sourceRoot":"","sources":["../../src/intelligence/classifier.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"classifier.js","sourceRoot":"","sources":["../../src/intelligence/classifier.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/skills/registry.ts"],"names":[],"mappings":"AAUA,MAAM,WAAW,KAAK;IACpB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED;;;GAGG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,MAAM,CAAiC;IAC/C,OAAO,CAAC,eAAe,CAAqC;gBAEhD,MAAM,CAAC,EAAE,MAAM;IAY3B;;;OAGG;IACH,OAAO,CAAC,IAAI;IA4DZ;;;;OAIG;IACG,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,GAAE,MAAM,EAAO,EAAE,OAAO,CAAC,EAAE;QAAE,WAAW,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,GAAG,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC;IA0BjH;;OAEG;YACW,aAAa;
|
|
1
|
+
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/skills/registry.ts"],"names":[],"mappings":"AAUA,MAAM,WAAW,KAAK;IACpB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED;;;GAGG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,MAAM,CAAiC;IAC/C,OAAO,CAAC,eAAe,CAAqC;gBAEhD,MAAM,CAAC,EAAE,MAAM;IAY3B;;;OAGG;IACH,OAAO,CAAC,IAAI;IA4DZ;;;;OAIG;IACG,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,GAAE,MAAM,EAAO,EAAE,OAAO,CAAC,EAAE;QAAE,WAAW,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,GAAG,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC;IA0BjH;;OAEG;YACW,aAAa;IAkD3B;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAY5B;;OAEG;IACG,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,GAAE,MAAM,EAAO,EAAE,OAAO,CAAC,EAAE;QAAE,WAAW,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE;;;;;IAkCpG,+BAA+B;IAC/B,MAAM,IAAI,KAAK,EAAE;IAIjB,mCAAmC;IACnC,MAAM,IAAI,IAAI;CAIf"}
|
package/dist/skills/registry.js
CHANGED
|
@@ -133,8 +133,11 @@ export class SkillRegistry {
|
|
|
133
133
|
bestScore = score;
|
|
134
134
|
bestSkill = skill;
|
|
135
135
|
}
|
|
136
|
-
else if (score === bestScore &&
|
|
137
|
-
|
|
136
|
+
else if (score === bestScore &&
|
|
137
|
+
score >= threshold &&
|
|
138
|
+
skill.isOfficial &&
|
|
139
|
+
!bestSkill?.isOfficial) {
|
|
140
|
+
// Tie-break: prefer official skill when both meet threshold
|
|
138
141
|
bestSkill = skill;
|
|
139
142
|
}
|
|
140
143
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/skills/registry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,MAAM,MAAM,aAAa,CAAC;AACjC,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAE7D,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;AAW7D;;;GAGG;AACH,MAAM,OAAO,aAAa;IAChB,MAAM,GAAuB,IAAI,GAAG,EAAE,CAAC;IACvC,eAAe,GAAgC,IAAI,CAAC;IAE5D,YAAY,MAAe;QACzB,IAAI,CAAC,IAAI,EAAE,CAAC;QAEZ,qDAAqD;QACrD,IAAI,MAAM,EAAE,CAAC;YACX,IAAI,CAAC,eAAe,GAAG,IAAI,oBAAoB,CAAC,MAAM,CAAC,CAAC;YACxD,MAAM,CAAC,IAAI,CAAC,2CAA2C,CAAC,CAAC;QAC3D,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,KAAK,CAAC,yDAAyD,CAAC,CAAC;QAC1E,CAAC;IACH,CAAC;IAED;;;OAGG;IACK,IAAI;QACV,yCAAyC;QACzC,KAAK,MAAM,aAAa,IAAI,eAAe,EAAE,CAAC;YAC5C,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,EAAE;gBAClC,EAAE,EAAE,aAAa,CAAC,IAAI;gBACtB,IAAI,EAAE,aAAa,CAAC,IAAI;gBACxB,QAAQ,EAAE,aAAa,CAAC,QAAQ;gBAChC,OAAO,EAAE,aAAa,CAAC,OAAO;gBAC9B,IAAI,EAAE,YAAY;gBAClB,UAAU,EAAE,IAAI;aACjB,CAAC,CAAC;QACL,CAAC;QAED,MAAM,CAAC,IAAI,CAAC,UAAU,eAAe,CAAC,MAAM,oBAAoB,CAAC,CAAC;QAElE,4EAA4E;QAC5E,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YAC/B,MAAM,CAAC,KAAK,CAAC,+BAA+B,UAAU,EAAE,CAAC,CAAC;YAC1D,OAAO;QACT,CAAC;QAED,MAAM,KAAK,GAAG,EAAE,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;QACzC,IAAI,SAAS,GAAG,CAAC,CAAC;QAElB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;gBAAE,SAAS;YAEpC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;YAC7C,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;gBACnD,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;gBAC/B,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC;gBAEvC,MAAM,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;gBACtC,MAAM,IAAI,GAAG,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC5D,MAAM,WAAW,GAAY,IAAI,CAAC,QAAQ,CAAC;gBAC3C,MAAM,QAAQ,GAAa,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC;oBACnD,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC;oBAC/D,CAAC,CAAC,EAAE,CAAC;gBAEP,2CAA2C;gBAC3C,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE;oBAClB,EAAE;oBACF,IAAI;oBACJ,QAAQ;oBACR,OAAO,EAAE,IAAI,CAAC,IAAI,EAAE;oBACpB,IAAI,EAAE,QAAQ;oBACd,UAAU,EAAE,KAAK;iBAClB,CAAC,CAAC;gBACH,SAAS,EAAE,CAAC;YACd,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,MAAM,CAAC,IAAI,CAAC,8BAA8B,IAAI,KAAK,GAAG,EAAE,CAAC,CAAC;YAC5D,CAAC;QACH,CAAC;QAED,IAAI,SAAS,GAAG,CAAC,EAAE,CAAC;YAClB,MAAM,CAAC,IAAI,CAAC,UAAU,SAAS,uBAAuB,UAAU,EAAE,CAAC,CAAC;QACtE,CAAC;IACH,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,KAAK,CAAC,MAAc,EAAE,WAAqB,EAAE,EAAE,OAAoC;QACvF,8BAA8B;QAC9B,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YACzB,IAAI,CAAC;gBACH,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,KAAK,CACrD,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,EAChC;oBACE,MAAM;oBACN,cAAc,EAAE,QAAQ;oBACxB,WAAW,EAAE,OAAO,EAAE,WAAW;iBAClC,CACF,CAAC;gBAEF,IAAI,cAAc,EAAE,CAAC;oBACnB,MAAM,CAAC,IAAI,CAAC,mCAAmC,cAAc,CAAC,KAAK,CAAC,EAAE,KAAK,cAAc,CAAC,UAAU,IAAI,CAAC,CAAC;oBAC1G,OAAO,cAAc,CAAC,KAAK,CAAC;gBAC9B,CAAC;YACH,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,MAAM,CAAC,IAAI,CAAC,+EAA+E,GAAG,EAAE,CAAC,CAAC;YACpG,CAAC;QACH,CAAC;QAED,gCAAgC;QAChC,OAAO,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;IACvD,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,aAAa,CACzB,MAAc,EACd,WAAqB,EAAE,EACvB,OAAoC;QAEpC,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;QACzC,MAAM,UAAU,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;QAEtD,IAAI,SAAS,GAAiB,IAAI,CAAC;QACnC,IAAI,SAAS,GAAG,CAAC,CAAC;QAElB,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC;YACzC,IAAI,KAAK,GAAG,CAAC,CAAC;YAEd,KAAK,MAAM,EAAE,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;gBAChC,MAAM,OAAO,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC;gBAEjC,wDAAwD;gBACxD,IAAI,IAAI,CAAC,oBAAoB,CAAC,WAAW,EAAE,OAAO,CAAC,EAAE,CAAC;oBACpD,KAAK,IAAI,CAAC,CAAC;gBACb,CAAC;gBACD,IAAI,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,oBAAoB,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC;oBAClE,KAAK,IAAI,CAAC,CAAC;gBACb,CAAC;YACH,CAAC;YAED,iFAAiF;YACjF,MAAM,SAAS,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAE3C,IAAI,KAAK,IAAI,SAAS,IAAI,KAAK,GAAG,SAAS,EAAE,CAAC;gBAC5C,SAAS,GAAG,KAAK,CAAC;gBAClB,SAAS,GAAG,KAAK,CAAC;YACpB,CAAC;iBAAM,
|
|
1
|
+
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/skills/registry.ts"],"names":[],"mappings":"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"}
|
package/dist/web/server.d.ts
CHANGED
|
@@ -5,10 +5,14 @@
|
|
|
5
5
|
*/
|
|
6
6
|
import type { SQLiteStorage } from '../core/storage/sqlite.js';
|
|
7
7
|
import type { RuleEngine } from '../engine/rule-engine.js';
|
|
8
|
+
import type { AgentRouter } from '../engine/agent-router.js';
|
|
9
|
+
import type { AgentRegistry } from '../agents/registry.js';
|
|
8
10
|
export interface WebServerOptions {
|
|
9
11
|
port: number;
|
|
10
12
|
storage: SQLiteStorage;
|
|
11
13
|
ruleEngine: RuleEngine;
|
|
14
|
+
router?: AgentRouter;
|
|
15
|
+
agents?: AgentRegistry;
|
|
12
16
|
}
|
|
13
17
|
export declare class WebServer {
|
|
14
18
|
private options;
|
package/dist/web/server.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/web/server.ts"],"names":[],"mappings":"AAAA;;;;GAIG;
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/web/server.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAQH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAO3D,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,aAAa,CAAC;IACvB,UAAU,EAAE,UAAU,CAAC;IACvB,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,MAAM,CAAC,EAAE,aAAa,CAAC;CACxB;AAED,qBAAa,SAAS;IAIR,OAAO,CAAC,OAAO;IAH3B,OAAO,CAAC,GAAG,CAAsB;IACjC,OAAO,CAAC,MAAM,CAA0D;gBAEpD,OAAO,EAAE,gBAAgB;IAM7C,OAAO,CAAC,WAAW;IA46Bb,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAgBtB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;CAO5B"}
|