codingbuddy 3.0.3 → 3.1.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/src/keyword/complexity-classifier.d.ts +33 -0
- package/dist/src/keyword/complexity-classifier.js +155 -0
- package/dist/src/keyword/complexity-classifier.js.map +1 -0
- package/dist/src/keyword/complexity-indicators.d.ts +11 -0
- package/dist/src/keyword/complexity-indicators.js +146 -0
- package/dist/src/keyword/complexity-indicators.js.map +1 -0
- package/dist/src/keyword/keyword.service.d.ts +1 -0
- package/dist/src/keyword/keyword.service.js +14 -0
- package/dist/src/keyword/keyword.service.js.map +1 -1
- package/dist/src/keyword/keyword.types.d.ts +12 -0
- package/dist/src/keyword/srp-template.d.ts +4 -0
- package/dist/src/keyword/srp-template.js +43 -0
- package/dist/src/keyword/srp-template.js.map +1 -0
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +2 -2
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { ComplexityClassification, SrpOverride, TaskComplexity } from './keyword.types';
|
|
2
|
+
import { COMPLEX_INDICATORS, SIMPLE_INDICATORS, NEGATION_PATTERNS, isNegatedMatch, type ComplexityIndicator } from './complexity-indicators';
|
|
3
|
+
export { COMPLEX_INDICATORS, SIMPLE_INDICATORS, NEGATION_PATTERNS, isNegatedMatch, type ComplexityIndicator, };
|
|
4
|
+
export interface ComplexityTelemetry {
|
|
5
|
+
timestamp: number;
|
|
6
|
+
promptLength: number;
|
|
7
|
+
complexity: TaskComplexity;
|
|
8
|
+
applySrp: boolean;
|
|
9
|
+
confidence: number;
|
|
10
|
+
complexScore: number;
|
|
11
|
+
simpleScore: number;
|
|
12
|
+
complexMatches: number;
|
|
13
|
+
simpleMatches: number;
|
|
14
|
+
override?: SrpOverride;
|
|
15
|
+
}
|
|
16
|
+
export type TelemetryCallback = (telemetry: ComplexityTelemetry) => void;
|
|
17
|
+
export interface ComplexityConfig {
|
|
18
|
+
complexThreshold: number;
|
|
19
|
+
simpleThreshold: number;
|
|
20
|
+
defaultConfidence: number;
|
|
21
|
+
maxConfidence: number;
|
|
22
|
+
}
|
|
23
|
+
export declare const DEFAULT_COMPLEXITY_CONFIG: ComplexityConfig;
|
|
24
|
+
export declare function extractSrpOverride(prompt: string): {
|
|
25
|
+
override: SrpOverride;
|
|
26
|
+
cleanedPrompt: string;
|
|
27
|
+
};
|
|
28
|
+
export interface ClassifyOptions {
|
|
29
|
+
config?: ComplexityConfig;
|
|
30
|
+
onTelemetry?: TelemetryCallback;
|
|
31
|
+
}
|
|
32
|
+
export declare function classifyComplexity(prompt: string, options?: ClassifyOptions | ComplexityConfig): ComplexityClassification;
|
|
33
|
+
export declare function generateSrpInstructions(classification: ComplexityClassification): string | undefined;
|
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DEFAULT_COMPLEXITY_CONFIG = exports.isNegatedMatch = exports.NEGATION_PATTERNS = exports.SIMPLE_INDICATORS = exports.COMPLEX_INDICATORS = void 0;
|
|
4
|
+
exports.extractSrpOverride = extractSrpOverride;
|
|
5
|
+
exports.classifyComplexity = classifyComplexity;
|
|
6
|
+
exports.generateSrpInstructions = generateSrpInstructions;
|
|
7
|
+
const srp_template_1 = require("./srp-template");
|
|
8
|
+
const complexity_indicators_1 = require("./complexity-indicators");
|
|
9
|
+
Object.defineProperty(exports, "COMPLEX_INDICATORS", { enumerable: true, get: function () { return complexity_indicators_1.COMPLEX_INDICATORS; } });
|
|
10
|
+
Object.defineProperty(exports, "SIMPLE_INDICATORS", { enumerable: true, get: function () { return complexity_indicators_1.SIMPLE_INDICATORS; } });
|
|
11
|
+
Object.defineProperty(exports, "NEGATION_PATTERNS", { enumerable: true, get: function () { return complexity_indicators_1.NEGATION_PATTERNS; } });
|
|
12
|
+
Object.defineProperty(exports, "isNegatedMatch", { enumerable: true, get: function () { return complexity_indicators_1.isNegatedMatch; } });
|
|
13
|
+
exports.DEFAULT_COMPLEXITY_CONFIG = {
|
|
14
|
+
complexThreshold: 0.08,
|
|
15
|
+
simpleThreshold: 0.1,
|
|
16
|
+
defaultConfidence: 0.6,
|
|
17
|
+
maxConfidence: 0.95,
|
|
18
|
+
};
|
|
19
|
+
function extractSrpOverride(prompt) {
|
|
20
|
+
if (/--srp\b/i.test(prompt)) {
|
|
21
|
+
return {
|
|
22
|
+
override: 'force',
|
|
23
|
+
cleanedPrompt: prompt.replace(/--srp\b/gi, '').trim(),
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
if (/--no-srp\b/i.test(prompt)) {
|
|
27
|
+
return {
|
|
28
|
+
override: 'skip',
|
|
29
|
+
cleanedPrompt: prompt.replace(/--no-srp\b/gi, '').trim(),
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
return {
|
|
33
|
+
override: 'auto',
|
|
34
|
+
cleanedPrompt: prompt,
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
function calculateScore(prompt, indicators, checkNegation = true) {
|
|
38
|
+
const matched = [];
|
|
39
|
+
let totalWeight = 0;
|
|
40
|
+
let matchedWeight = 0;
|
|
41
|
+
for (const indicator of indicators) {
|
|
42
|
+
totalWeight += indicator.weight;
|
|
43
|
+
indicator.pattern.lastIndex = 0;
|
|
44
|
+
const match = indicator.pattern.exec(prompt);
|
|
45
|
+
if (match) {
|
|
46
|
+
const matchEnd = match.index + match[0].length;
|
|
47
|
+
if (checkNegation && (0, complexity_indicators_1.isNegatedMatch)(prompt, match.index, matchEnd)) {
|
|
48
|
+
continue;
|
|
49
|
+
}
|
|
50
|
+
matched.push(indicator.description);
|
|
51
|
+
matchedWeight += indicator.weight;
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
const score = totalWeight > 0 ? matchedWeight / totalWeight : 0;
|
|
55
|
+
return { score, matched };
|
|
56
|
+
}
|
|
57
|
+
function calculateScores(prompt) {
|
|
58
|
+
const complexResult = calculateScore(prompt, complexity_indicators_1.COMPLEX_INDICATORS, true);
|
|
59
|
+
const simpleResult = calculateScore(prompt, complexity_indicators_1.SIMPLE_INDICATORS, false);
|
|
60
|
+
return { complexResult, simpleResult };
|
|
61
|
+
}
|
|
62
|
+
function determineComplexity(scores, config) {
|
|
63
|
+
const { complexResult, simpleResult } = scores;
|
|
64
|
+
if (complexResult.score > config.complexThreshold &&
|
|
65
|
+
complexResult.score > simpleResult.score) {
|
|
66
|
+
return {
|
|
67
|
+
complexity: 'COMPLEX',
|
|
68
|
+
reason: `Task requires structured reasoning: ${complexResult.matched.slice(0, 3).join(', ')}`,
|
|
69
|
+
confidence: Math.min(config.maxConfidence, 0.5 + complexResult.score * 0.5),
|
|
70
|
+
matchedIndicators: complexResult.matched,
|
|
71
|
+
};
|
|
72
|
+
}
|
|
73
|
+
if (simpleResult.score > config.simpleThreshold &&
|
|
74
|
+
simpleResult.score > complexResult.score) {
|
|
75
|
+
return {
|
|
76
|
+
complexity: 'SIMPLE',
|
|
77
|
+
reason: `Task is straightforward: ${simpleResult.matched.slice(0, 3).join(', ')}`,
|
|
78
|
+
confidence: Math.min(config.maxConfidence, 0.5 + simpleResult.score * 0.5),
|
|
79
|
+
matchedIndicators: simpleResult.matched,
|
|
80
|
+
};
|
|
81
|
+
}
|
|
82
|
+
if (complexResult.score > simpleResult.score) {
|
|
83
|
+
return {
|
|
84
|
+
complexity: 'COMPLEX',
|
|
85
|
+
reason: 'Borderline complexity - applying SRP for safety',
|
|
86
|
+
confidence: 0.5 + (complexResult.score - simpleResult.score) * 0.5,
|
|
87
|
+
matchedIndicators: complexResult.matched,
|
|
88
|
+
};
|
|
89
|
+
}
|
|
90
|
+
return {
|
|
91
|
+
complexity: 'SIMPLE',
|
|
92
|
+
reason: 'No significant complexity indicators detected',
|
|
93
|
+
confidence: config.defaultConfidence,
|
|
94
|
+
matchedIndicators: simpleResult.matched,
|
|
95
|
+
};
|
|
96
|
+
}
|
|
97
|
+
function applyOverride(result, override) {
|
|
98
|
+
if (override === 'force') {
|
|
99
|
+
return {
|
|
100
|
+
applySrp: true,
|
|
101
|
+
reason: `[Override: --srp] ${result.reason}`,
|
|
102
|
+
};
|
|
103
|
+
}
|
|
104
|
+
if (override === 'skip') {
|
|
105
|
+
return {
|
|
106
|
+
applySrp: false,
|
|
107
|
+
reason: `[Override: --no-srp] ${result.reason}`,
|
|
108
|
+
};
|
|
109
|
+
}
|
|
110
|
+
return {
|
|
111
|
+
applySrp: result.complexity === 'COMPLEX',
|
|
112
|
+
reason: result.reason,
|
|
113
|
+
};
|
|
114
|
+
}
|
|
115
|
+
function classifyComplexity(prompt, options) {
|
|
116
|
+
const resolvedOptions = options && 'complexThreshold' in options
|
|
117
|
+
? { config: options }
|
|
118
|
+
: (options ?? {});
|
|
119
|
+
const config = resolvedOptions.config ?? exports.DEFAULT_COMPLEXITY_CONFIG;
|
|
120
|
+
const onTelemetry = resolvedOptions.onTelemetry;
|
|
121
|
+
const { override, cleanedPrompt } = extractSrpOverride(prompt);
|
|
122
|
+
const scores = calculateScores(cleanedPrompt);
|
|
123
|
+
const complexityResult = determineComplexity(scores, config);
|
|
124
|
+
const { applySrp, reason } = applyOverride(complexityResult, override);
|
|
125
|
+
const result = {
|
|
126
|
+
complexity: complexityResult.complexity,
|
|
127
|
+
reason,
|
|
128
|
+
confidence: complexityResult.confidence,
|
|
129
|
+
matchedIndicators: complexityResult.matchedIndicators,
|
|
130
|
+
applySrp,
|
|
131
|
+
...(override !== 'auto' && { override }),
|
|
132
|
+
};
|
|
133
|
+
if (onTelemetry) {
|
|
134
|
+
onTelemetry({
|
|
135
|
+
timestamp: Date.now(),
|
|
136
|
+
promptLength: prompt.length,
|
|
137
|
+
complexity: complexityResult.complexity,
|
|
138
|
+
applySrp,
|
|
139
|
+
confidence: complexityResult.confidence,
|
|
140
|
+
complexScore: scores.complexResult.score,
|
|
141
|
+
simpleScore: scores.simpleResult.score,
|
|
142
|
+
complexMatches: scores.complexResult.matched.length,
|
|
143
|
+
simpleMatches: scores.simpleResult.matched.length,
|
|
144
|
+
...(override !== 'auto' && { override }),
|
|
145
|
+
});
|
|
146
|
+
}
|
|
147
|
+
return result;
|
|
148
|
+
}
|
|
149
|
+
function generateSrpInstructions(classification) {
|
|
150
|
+
if (!classification.applySrp) {
|
|
151
|
+
return undefined;
|
|
152
|
+
}
|
|
153
|
+
return (0, srp_template_1.renderSrpTemplate)(classification);
|
|
154
|
+
}
|
|
155
|
+
//# sourceMappingURL=complexity-classifier.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"complexity-classifier.js","sourceRoot":"","sources":["../../../src/keyword/complexity-classifier.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export interface ComplexityIndicator {
|
|
2
|
+
pattern: RegExp;
|
|
3
|
+
description: string;
|
|
4
|
+
weight: number;
|
|
5
|
+
}
|
|
6
|
+
export declare const COMPLEX_INDICATORS: ComplexityIndicator[];
|
|
7
|
+
export declare const NEGATION_PATTERNS_BEFORE: RegExp[];
|
|
8
|
+
export declare const NEGATION_PATTERNS_AFTER: RegExp[];
|
|
9
|
+
export declare const NEGATION_PATTERNS: RegExp[];
|
|
10
|
+
export declare function isNegatedMatch(prompt: string, matchIndex: number, matchEnd?: number): boolean;
|
|
11
|
+
export declare const SIMPLE_INDICATORS: ComplexityIndicator[];
|
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SIMPLE_INDICATORS = exports.NEGATION_PATTERNS = exports.NEGATION_PATTERNS_AFTER = exports.NEGATION_PATTERNS_BEFORE = exports.COMPLEX_INDICATORS = void 0;
|
|
4
|
+
exports.isNegatedMatch = isNegatedMatch;
|
|
5
|
+
exports.COMPLEX_INDICATORS = [
|
|
6
|
+
{
|
|
7
|
+
pattern: /\b(design|architect)\w*\b|설계|아키텍처|아키텍쳐|設計|アーキテクチャ|设计|架构|dise[ñn]o|arquitectura/i,
|
|
8
|
+
description: 'Design/architecture task',
|
|
9
|
+
weight: 0.8,
|
|
10
|
+
},
|
|
11
|
+
{
|
|
12
|
+
pattern: /\bhow\s+should\s+(we|i)\b|어떻게\s*(해야|하면)|어떤\s*방식으로|どうすれば|どのように|应该怎么|怎[么麼]做|c[oó]mo\s+(deber[ií]amos|debo)/i,
|
|
13
|
+
description: 'Design decision question',
|
|
14
|
+
weight: 0.9,
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
pattern: /\b(trade-?off|pros?\s+and\s+cons?|compare|versus|vs\.?)\b|장단점|트레이드오프|비교\s*분석|トレードオフ|メリット.*デメリット|比較|权衡|利弊|比较分析|pros\s+y\s+contras|comparar/i,
|
|
18
|
+
description: 'Trade-off analysis',
|
|
19
|
+
weight: 0.9,
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
pattern: /\b(multiple|several|different)\s+(approach|option|way|method)s?\b|(여러|다양한|다수의)\s*(방법|방식|접근|옵션)|複数の?(アプローチ|方法|選択肢)|多[种種](方法|方式|选择)|m[uú]ltiples\s+(enfoques?|opciones?|m[eé]todos?)/i,
|
|
23
|
+
description: 'Multiple approaches',
|
|
24
|
+
weight: 0.7,
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
pattern: /\b(refactor|restructure|reorganize|migrate)\b|리팩토링|리팩터링|구조\s*개선|재구성|リファクタリング|再構成|重构|重[構构]|refactorizar|reestructurar/i,
|
|
28
|
+
description: 'Code restructuring',
|
|
29
|
+
weight: 0.7,
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
pattern: /\b(across|multiple|several)\s+(file|module|component|service)s?\b|(여러|다수의|전체)\s*(파일|모듈|컴포넌트|서비스)|複数の?(ファイル|モジュール|コンポーネント)|多[个個](文件|模[块塊]|组件)|m[uú]ltiples\s+(archivos?|m[oó]dulos?|componentes?)/i,
|
|
33
|
+
description: 'Multi-file scope',
|
|
34
|
+
weight: 0.8,
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
pattern: /\b(implement|build|create)\s+.{0,20}(feature|system|service|module)\b|(구현|개발|만들).{0,10}(기능|시스템|서비스|모듈)|(実装|構築).{0,10}(機能|システム)|实现.{0,10}(功能|系统)|implementar.{0,20}(funcionalidad|sistema|servicio)/i,
|
|
38
|
+
description: 'Feature implementation',
|
|
39
|
+
weight: 0.6,
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
pattern: /\b(state\s+management|authentication|authorization|auth\s+system|caching)\b|상태\s*관리|인증\s*시스템|권한\s*관리|캐싱|状態管理|認証|キャッシュ|状态管理|认证|缓存|gesti[oó]n\s+de\s+estado|autenticaci[oó]n/i,
|
|
43
|
+
description: 'Complex domain',
|
|
44
|
+
weight: 0.8,
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
pattern: /\b(optimiz|performance|security|scalab)\w*\b|최적화|성능\s*개선|보안|확장성|最適化|パフォーマンス|セキュリティ|优化|性能|安全|可扩展|optimizar|rendimiento|seguridad|escalabilidad/i,
|
|
48
|
+
description: 'Performance/Security concern',
|
|
49
|
+
weight: 0.7,
|
|
50
|
+
},
|
|
51
|
+
{
|
|
52
|
+
pattern: /\b(analyz|evaluat|assess|review)\w*\s+.{0,20}(approach|option|strategy)\b|(분석|검토|평가).{0,10}(방법|옵션|전략)|(分析|検討|評価).{0,10}(アプローチ|方法)|分析.{0,10}(方法|策略)|analizar.{0,20}(enfoque|opci[oó]n|estrategia)/i,
|
|
53
|
+
description: 'Analysis required',
|
|
54
|
+
weight: 0.8,
|
|
55
|
+
},
|
|
56
|
+
{
|
|
57
|
+
pattern: /\bwhat('s|\s+is)\s+the\s+best\s+(way|approach|practice)\b|가장\s*좋은\s*(방법|방식)|최선의\s*(접근|방법)|最善の?(方法|アプローチ)|ベストプラクティス|最好的(方法|做法)|最佳(实践|方式)|cu[aá]l\s+es\s+la\s+mejor\s+(manera|forma|pr[aá]ctica)/i,
|
|
58
|
+
description: 'Best practice inquiry',
|
|
59
|
+
weight: 0.7,
|
|
60
|
+
},
|
|
61
|
+
{
|
|
62
|
+
pattern: /\b(integrat|connect|link)\w*\s+.{0,20}(service|api|system|module)\b|(통합|연동|연결).{0,10}(서비스|API|시스템)|(統合|連携).{0,10}(サービス|API)|集成.{0,10}(服务|API|系统)|integrar.{0,20}(servicio|API|sistema)/i,
|
|
63
|
+
description: 'Integration task',
|
|
64
|
+
weight: 0.6,
|
|
65
|
+
},
|
|
66
|
+
{
|
|
67
|
+
pattern: /\b(dependency|dependencies|coupling|decoupl)\w*\b|의존성|종속성|결합도|依存関係|結合度|依赖|耦合|dependencia|acoplamiento/i,
|
|
68
|
+
description: 'Dependency management',
|
|
69
|
+
weight: 0.7,
|
|
70
|
+
},
|
|
71
|
+
];
|
|
72
|
+
exports.NEGATION_PATTERNS_BEFORE = [
|
|
73
|
+
/\b(don'?t|do\s+not|no\s+need\s+to|without|skip|avoid|not\s+going\s+to|won'?t|shouldn'?t|needn'?t)\s+$/i,
|
|
74
|
+
/(不要|不需要|不用|别|無需|毋須)$/,
|
|
75
|
+
/\b(no|sin|evitar|no\s+hay\s+que|no\s+necesita)\s+$/i,
|
|
76
|
+
];
|
|
77
|
+
exports.NEGATION_PATTERNS_AFTER = [
|
|
78
|
+
/^.{0,5}(하지\s*말|안\s*해도|필요\s*없|하지\s*않|말고)/,
|
|
79
|
+
/^.{0,3}(しないで|しなくて|必要(ない|なし)|やめて|せずに)/,
|
|
80
|
+
];
|
|
81
|
+
exports.NEGATION_PATTERNS = [
|
|
82
|
+
...exports.NEGATION_PATTERNS_BEFORE,
|
|
83
|
+
...exports.NEGATION_PATTERNS_AFTER,
|
|
84
|
+
];
|
|
85
|
+
function isNegatedMatch(prompt, matchIndex, matchEnd) {
|
|
86
|
+
const contextStart = Math.max(0, matchIndex - 30);
|
|
87
|
+
const textBefore = prompt.slice(contextStart, matchIndex);
|
|
88
|
+
if (exports.NEGATION_PATTERNS_BEFORE.some(pattern => pattern.test(textBefore))) {
|
|
89
|
+
return true;
|
|
90
|
+
}
|
|
91
|
+
const end = matchEnd ?? matchIndex + 10;
|
|
92
|
+
const contextEnd = Math.min(prompt.length, end + 15);
|
|
93
|
+
const textAfter = prompt.slice(end, contextEnd);
|
|
94
|
+
if (exports.NEGATION_PATTERNS_AFTER.some(pattern => pattern.test(textAfter))) {
|
|
95
|
+
return true;
|
|
96
|
+
}
|
|
97
|
+
return false;
|
|
98
|
+
}
|
|
99
|
+
exports.SIMPLE_INDICATORS = [
|
|
100
|
+
{
|
|
101
|
+
pattern: /\bwhat\s+(is|are)\s+(the\s+)?(type|return\s+type|syntax)\b|(타입|반환\s*타입|문법)이?\s*(뭐|무엇)|型は?(何|なん)|戻り値の?型|类型是什么|返回类型|语法|cu[aá]l\s+es\s+el\s+tipo|sintaxis/i,
|
|
102
|
+
description: 'Type/syntax question',
|
|
103
|
+
weight: 0.9,
|
|
104
|
+
},
|
|
105
|
+
{
|
|
106
|
+
pattern: /\b(does|is|are|can|will)\s+.{0,30}\s*(exist|work|valid|correct)\b|(있|되|맞|정상)\s*(나요|는지|을까)|動(く|き)ますか|正しい(ですか)?|能用吗|有效吗|存在吗|funciona|existe|es\s+v[aá]lido/i,
|
|
107
|
+
description: 'Yes/no verification',
|
|
108
|
+
weight: 0.7,
|
|
109
|
+
},
|
|
110
|
+
{
|
|
111
|
+
pattern: /\bhow\s+(do|to)\s+(i\s+)?(declare|define|import|export)\b|(선언|정의|임포트|익스포트)\s*어떻게|どう(宣言|定義|インポート)|怎[么麼](声明|定义|导入)|c[oó]mo\s+(declarar|definir|importar|exportar)/i,
|
|
112
|
+
description: 'Definition question',
|
|
113
|
+
weight: 0.8,
|
|
114
|
+
},
|
|
115
|
+
{
|
|
116
|
+
pattern: /\b(show|give)\s+(me\s+)?(an?\s+)?example\b|예제\s*(보여|알려|줘)|例を?(見せて|示して)|给[个個]例子|举[个個]例|mu[eé]strame\s+un\s+ejemplo|dame\s+un\s+ejemplo/i,
|
|
117
|
+
description: 'Example request',
|
|
118
|
+
weight: 0.6,
|
|
119
|
+
},
|
|
120
|
+
{
|
|
121
|
+
pattern: /\b(fix|correct|update)\s+(the\s+)?(typo|error|bug|issue)\s+(in|at)\b|오타\s*(수정|고쳐)|에러\s*수정|버그\s*수정|タイポ(修正|を直)|誤字(修正|を直)|修[复復](错误|bug)|改正錯誤|corregir\s+(el\s+)?(error|typo|bug)/i,
|
|
122
|
+
description: 'Single fix',
|
|
123
|
+
weight: 0.8,
|
|
124
|
+
},
|
|
125
|
+
{
|
|
126
|
+
pattern: /\b(rename|move)\s+(this\s+)?(file|function|variable|class)\b|이름\s*(변경|바꿔)|리네임|名前を?(変更|変える)|リネーム|重命名|改名|renombrar|cambiar\s+el\s+nombre/i,
|
|
127
|
+
description: 'Rename operation',
|
|
128
|
+
weight: 0.7,
|
|
129
|
+
},
|
|
130
|
+
{
|
|
131
|
+
pattern: /\badd\s+(a\s+)?(comment|log|print|console)\b|주석\s*(추가|달아)|로그\s*추가|コメント(追加|を追加)|ログ(追加|を追加)|添加(注释|日志)|加[个個](注释|日志)|agregar\s+(un\s+)?comentario|a[ñn]adir\s+log/i,
|
|
132
|
+
description: 'Add comment/log',
|
|
133
|
+
weight: 0.9,
|
|
134
|
+
},
|
|
135
|
+
{
|
|
136
|
+
pattern: /\b(update|change|set)\s+(the\s+)?(version|value|name|label)\b|(버전|값|이름)\s*(변경|수정|바꿔)|バージョン(更新|を変更)|値を?(変更|更新)|更新(版本|值)|修改(版本|值)|actualizar\s+(la\s+)?(versi[oó]n|valor)/i,
|
|
137
|
+
description: 'Simple update',
|
|
138
|
+
weight: 0.6,
|
|
139
|
+
},
|
|
140
|
+
{
|
|
141
|
+
pattern: /\b(format|lint|prettify|indent)\b|포맷팅|포맷\s*정리|린트|정리|フォーマット|整形|リント|格式化|整理代码|formatear|dar\s+formato/i,
|
|
142
|
+
description: 'Formatting',
|
|
143
|
+
weight: 0.9,
|
|
144
|
+
},
|
|
145
|
+
];
|
|
146
|
+
//# sourceMappingURL=complexity-indicators.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"complexity-indicators.js","sourceRoot":"","sources":["../../../src/keyword/complexity-indicators.ts"],"names":[],"mappings":"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"}
|
|
@@ -28,6 +28,7 @@ export declare class KeywordService {
|
|
|
28
28
|
private addActRecommendationToResult;
|
|
29
29
|
private addActivationMessageToResult;
|
|
30
30
|
private addAutoConfigToResult;
|
|
31
|
+
private addComplexityToResult;
|
|
31
32
|
private getPrimaryAgentTier;
|
|
32
33
|
private getParallelAgentsRecommendation;
|
|
33
34
|
private getContextAwareSpecialists;
|
|
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.KeywordService = void 0;
|
|
4
4
|
const common_1 = require("@nestjs/common");
|
|
5
5
|
const keyword_types_1 = require("./keyword.types");
|
|
6
|
+
const complexity_classifier_1 = require("./complexity-classifier");
|
|
6
7
|
const auto_executor_types_1 = require("./auto-executor.types");
|
|
7
8
|
const activation_message_builder_1 = require("./activation-message.builder");
|
|
8
9
|
const async_utils_1 = require("../shared/async.utils");
|
|
@@ -159,6 +160,7 @@ class KeywordService {
|
|
|
159
160
|
await this.addActRecommendationToResult(result, mode, originalPrompt);
|
|
160
161
|
this.addActivationMessageToResult(result, resolvedAgent);
|
|
161
162
|
await this.addAutoConfigToResult(result, mode);
|
|
163
|
+
this.addComplexityToResult(result, mode, originalPrompt);
|
|
162
164
|
return result;
|
|
163
165
|
}
|
|
164
166
|
buildBaseResult(mode, originalPrompt, warnings, modeConfig, rules) {
|
|
@@ -221,6 +223,18 @@ class KeywordService {
|
|
|
221
223
|
const autoConfig = await this.getAutoConfig();
|
|
222
224
|
result.autoConfig = autoConfig;
|
|
223
225
|
}
|
|
226
|
+
addComplexityToResult(result, mode, originalPrompt) {
|
|
227
|
+
if (mode !== 'PLAN' && mode !== 'AUTO') {
|
|
228
|
+
return;
|
|
229
|
+
}
|
|
230
|
+
const classification = (0, complexity_classifier_1.classifyComplexity)(originalPrompt);
|
|
231
|
+
result.complexity = classification;
|
|
232
|
+
const srpInstructions = (0, complexity_classifier_1.generateSrpInstructions)(classification);
|
|
233
|
+
if (srpInstructions) {
|
|
234
|
+
result.srpInstructions = srpInstructions;
|
|
235
|
+
}
|
|
236
|
+
this.logger.log(`Complexity: ${classification.complexity}, SRP: ${classification.applySrp ? 'applied' : 'skipped'}, confidence: ${classification.confidence.toFixed(2)}`);
|
|
237
|
+
}
|
|
224
238
|
getPrimaryAgentTier(agentName) {
|
|
225
239
|
return keyword_types_1.ALL_PRIMARY_AGENTS.includes(agentName)
|
|
226
240
|
? 'primary'
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"keyword.service.js","sourceRoot":"","sources":["../../../src/keyword/keyword.service.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"keyword.service.js","sourceRoot":"","sources":["../../../src/keyword/keyword.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -70,6 +70,16 @@ export interface ActivationMessage {
|
|
|
70
70
|
export interface AutoConfig {
|
|
71
71
|
maxIterations: number;
|
|
72
72
|
}
|
|
73
|
+
export type TaskComplexity = 'SIMPLE' | 'COMPLEX';
|
|
74
|
+
export type SrpOverride = 'force' | 'skip' | 'auto';
|
|
75
|
+
export interface ComplexityClassification {
|
|
76
|
+
complexity: TaskComplexity;
|
|
77
|
+
reason: string;
|
|
78
|
+
confidence: number;
|
|
79
|
+
matchedIndicators: string[];
|
|
80
|
+
applySrp: boolean;
|
|
81
|
+
override?: SrpOverride;
|
|
82
|
+
}
|
|
73
83
|
export interface ParseModeResult {
|
|
74
84
|
mode: Mode;
|
|
75
85
|
originalPrompt: string;
|
|
@@ -85,6 +95,8 @@ export interface ParseModeResult {
|
|
|
85
95
|
available_act_agents?: string[];
|
|
86
96
|
activation_message?: ActivationMessage;
|
|
87
97
|
autoConfig?: AutoConfig;
|
|
98
|
+
complexity?: ComplexityClassification;
|
|
99
|
+
srpInstructions?: string;
|
|
88
100
|
}
|
|
89
101
|
export interface ModeConfig {
|
|
90
102
|
description: string;
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { ComplexityClassification } from './keyword.types';
|
|
2
|
+
declare const SRP_TEMPLATE = "## \uD83E\uDDE0 Structured Reasoning Process (SRP) Required\n\nThis task is classified as **{{COMPLEXITY}}** ({{REASON}}).\n\n**Apply the 5-step SRP process:**\n\n### 1. DECOMPOSE\nBreak the problem into 2-5 manageable sub-problems.\n- Identify independent sub-problems\n- Consider dependencies between them\n\n### 2. SOLVE\nAddress each sub-problem and assign confidence levels:\n- \uD83D\uDFE2 High (0.8+): Official docs, verified facts, testable\n- \uD83D\uDFE1 Medium (0.5-0.79): Reasonable inference, context-dependent\n- \uD83D\uDD34 Low (<0.5): Speculation, insufficient info\n\n### 3. VERIFY\nCheck each solution for:\n- \u2705 Logic validity\n- \u2705 Factual accuracy\n- \u2705 Completeness\n- \u2705 Potential bias\n\n### 4. SYNTHESIZE\nCombine results using the min() rule:\n`Overall Confidence = min(Sub-problem Confidences)`\n\n### 5. REFLECT\nIf overall confidence is Low or critical issues remain:\n- Retry (max 2 times) by returning to DECOMPOSE\n- Or output with explicit limitations\n\n**Reference**: See `structured-reasoning-guide.md` for detailed examples.";
|
|
3
|
+
export declare function renderSrpTemplate(classification: Pick<ComplexityClassification, 'complexity' | 'reason'>): string;
|
|
4
|
+
export { SRP_TEMPLATE };
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SRP_TEMPLATE = void 0;
|
|
4
|
+
exports.renderSrpTemplate = renderSrpTemplate;
|
|
5
|
+
const SRP_TEMPLATE = `## 🧠 Structured Reasoning Process (SRP) Required
|
|
6
|
+
|
|
7
|
+
This task is classified as **{{COMPLEXITY}}** ({{REASON}}).
|
|
8
|
+
|
|
9
|
+
**Apply the 5-step SRP process:**
|
|
10
|
+
|
|
11
|
+
### 1. DECOMPOSE
|
|
12
|
+
Break the problem into 2-5 manageable sub-problems.
|
|
13
|
+
- Identify independent sub-problems
|
|
14
|
+
- Consider dependencies between them
|
|
15
|
+
|
|
16
|
+
### 2. SOLVE
|
|
17
|
+
Address each sub-problem and assign confidence levels:
|
|
18
|
+
- 🟢 High (0.8+): Official docs, verified facts, testable
|
|
19
|
+
- 🟡 Medium (0.5-0.79): Reasonable inference, context-dependent
|
|
20
|
+
- 🔴 Low (<0.5): Speculation, insufficient info
|
|
21
|
+
|
|
22
|
+
### 3. VERIFY
|
|
23
|
+
Check each solution for:
|
|
24
|
+
- ✅ Logic validity
|
|
25
|
+
- ✅ Factual accuracy
|
|
26
|
+
- ✅ Completeness
|
|
27
|
+
- ✅ Potential bias
|
|
28
|
+
|
|
29
|
+
### 4. SYNTHESIZE
|
|
30
|
+
Combine results using the min() rule:
|
|
31
|
+
\`Overall Confidence = min(Sub-problem Confidences)\`
|
|
32
|
+
|
|
33
|
+
### 5. REFLECT
|
|
34
|
+
If overall confidence is Low or critical issues remain:
|
|
35
|
+
- Retry (max 2 times) by returning to DECOMPOSE
|
|
36
|
+
- Or output with explicit limitations
|
|
37
|
+
|
|
38
|
+
**Reference**: See \`structured-reasoning-guide.md\` for detailed examples.`;
|
|
39
|
+
exports.SRP_TEMPLATE = SRP_TEMPLATE;
|
|
40
|
+
function renderSrpTemplate(classification) {
|
|
41
|
+
return SRP_TEMPLATE.replace('{{COMPLEXITY}}', classification.complexity).replace('{{REASON}}', classification.reason);
|
|
42
|
+
}
|
|
43
|
+
//# sourceMappingURL=srp-template.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"srp-template.js","sourceRoot":"","sources":["../../../src/keyword/srp-template.ts"],"names":[],"mappings":";;;AAwDA,8CAOC;AAhDD,MAAM,YAAY,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4EAiCuD,CAAC;AAoBpE,oCAAY;AAZrB,SAAgB,iBAAiB,CAC/B,cAAuE;IAEvE,OAAO,YAAY,CAAC,OAAO,CACzB,gBAAgB,EAChB,cAAc,CAAC,UAAU,CAC1B,CAAC,OAAO,CAAC,YAAY,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC;AACjD,CAAC"}
|