codingbuddy 3.0.2 → 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.
@@ -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"}