codingbuddy 0.0.0-canary.20260109024430.g7dd6a9a → 0.0.0-canary.20260110143102.g46c6902

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.
@@ -15,14 +15,22 @@ export declare class KeywordService {
15
15
  private readonly cacheTTL;
16
16
  private cacheHits;
17
17
  private cacheMisses;
18
+ private static readonly CONTEXT_SPECIALIST_PATTERNS;
18
19
  constructor(loadConfigFn: () => Promise<KeywordModesConfig>, loadRuleFn: (path: string) => Promise<string>, loadAgentInfoFn?: ((agentName: string) => Promise<unknown>) | undefined, primaryAgentResolver?: PrimaryAgentResolver, loadAutoConfigFn?: (() => Promise<AutoConfig | null>) | undefined);
19
20
  parseMode(prompt: string, options?: ParseModeOptions): Promise<ParseModeResult>;
20
21
  private extractModeFromPrompt;
21
- private checkForMultipleKeywords;
22
+ private checkForMultipleKeywordsInPrompt;
22
23
  private checkForEmptyContent;
23
24
  private buildParseModeResult;
25
+ private buildBaseResult;
26
+ private addAgentInfoToResult;
27
+ private addParallelAgentsToResult;
28
+ private addActRecommendationToResult;
29
+ private addActivationMessageToResult;
30
+ private addAutoConfigToResult;
24
31
  private getPrimaryAgentTier;
25
32
  private getParallelAgentsRecommendation;
33
+ private getContextAwareSpecialists;
26
34
  private getActAgentRecommendation;
27
35
  invalidateConfigCache(): void;
28
36
  loadModeConfig(): Promise<KeywordModesConfig>;
@@ -7,6 +7,7 @@ const auto_executor_types_1 = require("./auto-executor.types");
7
7
  const activation_message_builder_1 = require("./activation-message.builder");
8
8
  const async_utils_1 = require("../shared/async.utils");
9
9
  const rule_filter_1 = require("./rule-filter");
10
+ const MAX_PROMPT_LENGTH = 50_000;
10
11
  const DEFAULT_CONFIG = {
11
12
  modes: {
12
13
  PLAN: {
@@ -71,6 +72,10 @@ class KeywordService {
71
72
  this.cacheTTL = process.env.NODE_ENV === 'production' ? 3600000 : 300000;
72
73
  }
73
74
  async parseMode(prompt, options) {
75
+ if (prompt.length > MAX_PROMPT_LENGTH) {
76
+ this.logger.warn(`Prompt exceeds maximum length (${prompt.length} > ${MAX_PROMPT_LENGTH}), truncating`);
77
+ prompt = prompt.slice(0, MAX_PROMPT_LENGTH);
78
+ }
74
79
  const config = await this.loadModeConfig();
75
80
  const { mode, originalPrompt, warnings } = this.extractModeFromPrompt(prompt, config.defaultMode);
76
81
  const modeConfig = config.modes[mode];
@@ -81,35 +86,43 @@ class KeywordService {
81
86
  extractModeFromPrompt(prompt, defaultMode) {
82
87
  const warnings = [];
83
88
  const trimmed = prompt.trim();
84
- const parts = trimmed.split(/\s+/);
85
- const firstWord = parts[0] ?? '';
86
- const firstWordUpper = firstWord.toUpperCase();
87
- const isEnglishKeyword = keyword_types_1.KEYWORDS.includes(firstWordUpper);
88
- const localizedMode = keyword_types_1.LOCALIZED_KEYWORD_MAP[firstWord] ?? keyword_types_1.LOCALIZED_KEYWORD_MAP[firstWordUpper];
89
+ const keywordRegex = /^([^\s::]+)\s*[::]?\s*(.*)$/s;
90
+ const match = trimmed.match(keywordRegex);
91
+ if (!match || !match[1]) {
92
+ warnings.push('No keyword found, defaulting to PLAN');
93
+ return { mode: defaultMode, originalPrompt: trimmed, warnings };
94
+ }
95
+ const keywordCandidate = match[1];
96
+ const keywordUpper = keywordCandidate.toUpperCase();
97
+ const originalPrompt = (match[2] ?? '').trim();
98
+ const isEnglishKeyword = keyword_types_1.KEYWORDS.includes(keywordUpper);
99
+ const localizedMode = keyword_types_1.LOCALIZED_KEYWORD_MAP[keywordCandidate] ??
100
+ keyword_types_1.LOCALIZED_KEYWORD_MAP[keywordUpper];
89
101
  if (isEnglishKeyword) {
90
- const mode = firstWordUpper;
91
- const originalPrompt = trimmed.slice(firstWord.length).trim();
92
- this.checkForMultipleKeywords(parts, warnings);
102
+ const mode = keywordUpper;
103
+ this.checkForMultipleKeywordsInPrompt(originalPrompt, warnings);
93
104
  this.checkForEmptyContent(originalPrompt, warnings);
94
105
  return { mode, originalPrompt, warnings };
95
106
  }
96
107
  if (localizedMode) {
97
- const originalPrompt = trimmed.slice(firstWord.length).trim();
98
- this.checkForMultipleKeywords(parts, warnings);
108
+ this.checkForMultipleKeywordsInPrompt(originalPrompt, warnings);
99
109
  this.checkForEmptyContent(originalPrompt, warnings);
100
110
  return { mode: localizedMode, originalPrompt, warnings };
101
111
  }
102
112
  warnings.push('No keyword found, defaulting to PLAN');
103
113
  return { mode: defaultMode, originalPrompt: trimmed, warnings };
104
114
  }
105
- checkForMultipleKeywords(parts, warnings) {
106
- if (parts.length <= 1)
115
+ checkForMultipleKeywordsInPrompt(originalPrompt, warnings) {
116
+ if (!originalPrompt)
107
117
  return;
108
- const secondWord = parts[1];
109
- const secondWordUpper = secondWord.toUpperCase();
110
- const isSecondKeyword = keyword_types_1.KEYWORDS.includes(secondWordUpper) ||
111
- keyword_types_1.LOCALIZED_KEYWORD_MAP[secondWord] !== undefined ||
112
- keyword_types_1.LOCALIZED_KEYWORD_MAP[secondWordUpper] !== undefined;
118
+ const firstWordMatch = originalPrompt.match(/^([^\s::]+)/);
119
+ if (!firstWordMatch)
120
+ return;
121
+ const firstWord = firstWordMatch[1];
122
+ const firstWordUpper = firstWord.toUpperCase();
123
+ const isSecondKeyword = keyword_types_1.KEYWORDS.includes(firstWordUpper) ||
124
+ keyword_types_1.LOCALIZED_KEYWORD_MAP[firstWord] !== undefined ||
125
+ keyword_types_1.LOCALIZED_KEYWORD_MAP[firstWordUpper] !== undefined;
113
126
  if (isSecondKeyword) {
114
127
  warnings.push('Multiple keywords found, using first');
115
128
  }
@@ -120,6 +133,16 @@ class KeywordService {
120
133
  }
121
134
  }
122
135
  async buildParseModeResult(mode, originalPrompt, warnings, modeConfig, rules, config, context, recommendedActAgent) {
136
+ const result = this.buildBaseResult(mode, originalPrompt, warnings, modeConfig, rules);
137
+ const resolvedAgent = await this.resolvePrimaryAgent(mode, originalPrompt, modeConfig.delegates_to, context, recommendedActAgent);
138
+ await this.addAgentInfoToResult(result, resolvedAgent);
139
+ this.addParallelAgentsToResult(result, mode, config, originalPrompt);
140
+ await this.addActRecommendationToResult(result, mode, originalPrompt);
141
+ this.addActivationMessageToResult(result, resolvedAgent);
142
+ await this.addAutoConfigToResult(result, mode);
143
+ return result;
144
+ }
145
+ buildBaseResult(mode, originalPrompt, warnings, modeConfig, rules) {
123
146
  const filteredRules = (0, rule_filter_1.filterRulesByMode)(rules, mode);
124
147
  const result = {
125
148
  mode,
@@ -131,58 +154,85 @@ class KeywordService {
131
154
  if (modeConfig.agent) {
132
155
  result.agent = modeConfig.agent;
133
156
  }
134
- const resolvedAgent = await this.resolvePrimaryAgent(mode, originalPrompt, modeConfig.delegates_to, context, recommendedActAgent);
135
- if (resolvedAgent) {
136
- result.delegates_to = resolvedAgent.agentName;
137
- result.primary_agent_source = resolvedAgent.source;
138
- const delegateAgentInfo = await this.getAgentInfo(resolvedAgent.agentName);
139
- if (delegateAgentInfo) {
140
- result.delegate_agent_info = delegateAgentInfo;
141
- }
157
+ return result;
158
+ }
159
+ async addAgentInfoToResult(result, resolvedAgent) {
160
+ if (!resolvedAgent) {
161
+ return;
142
162
  }
143
- const parallelAgentsRecommendation = this.getParallelAgentsRecommendation(mode, config);
144
- if (parallelAgentsRecommendation) {
145
- result.parallelAgentsRecommendation = parallelAgentsRecommendation;
163
+ result.delegates_to = resolvedAgent.agentName;
164
+ result.primary_agent_source = resolvedAgent.source;
165
+ const delegateAgentInfo = await this.getAgentInfo(resolvedAgent.agentName);
166
+ if (delegateAgentInfo) {
167
+ result.delegate_agent_info = delegateAgentInfo;
146
168
  }
147
- if (mode === 'PLAN' && this.primaryAgentResolver) {
148
- const actRecommendation = await this.getActAgentRecommendation(originalPrompt);
149
- if (actRecommendation) {
150
- result.recommended_act_agent = actRecommendation;
151
- result.available_act_agents = [...keyword_types_1.ACT_PRIMARY_AGENTS];
152
- }
169
+ }
170
+ addParallelAgentsToResult(result, mode, config, originalPrompt) {
171
+ const recommendation = this.getParallelAgentsRecommendation(mode, config, originalPrompt);
172
+ if (recommendation) {
173
+ result.parallelAgentsRecommendation = recommendation;
153
174
  }
154
- if (resolvedAgent) {
155
- const tier = this.getPrimaryAgentTier(resolvedAgent.agentName);
156
- const activationMessage = activation_message_builder_1.ActivationMessageBuilder.forPrimaryAgent(resolvedAgent.agentName);
157
- if (tier === 'specialist') {
158
- result.activation_message = activation_message_builder_1.ActivationMessageBuilder.forSpecialistAgent(resolvedAgent.agentName);
159
- }
160
- else {
161
- result.activation_message = activationMessage;
162
- }
175
+ }
176
+ async addActRecommendationToResult(result, mode, originalPrompt) {
177
+ if (mode !== 'PLAN' || !this.primaryAgentResolver) {
178
+ return;
163
179
  }
164
- if (mode === 'AUTO') {
165
- const autoConfig = await this.getAutoConfig();
166
- result.autoConfig = autoConfig;
180
+ const actRecommendation = await this.getActAgentRecommendation(originalPrompt);
181
+ if (actRecommendation) {
182
+ result.recommended_act_agent = actRecommendation;
183
+ result.available_act_agents = [...keyword_types_1.ACT_PRIMARY_AGENTS];
184
+ }
185
+ }
186
+ addActivationMessageToResult(result, resolvedAgent) {
187
+ if (!resolvedAgent) {
188
+ return;
189
+ }
190
+ const tier = this.getPrimaryAgentTier(resolvedAgent.agentName);
191
+ if (tier === 'specialist') {
192
+ result.activation_message = activation_message_builder_1.ActivationMessageBuilder.forSpecialistAgent(resolvedAgent.agentName);
193
+ }
194
+ else {
195
+ result.activation_message = activation_message_builder_1.ActivationMessageBuilder.forPrimaryAgent(resolvedAgent.agentName);
167
196
  }
168
- return result;
197
+ }
198
+ async addAutoConfigToResult(result, mode) {
199
+ if (mode !== 'AUTO') {
200
+ return;
201
+ }
202
+ const autoConfig = await this.getAutoConfig();
203
+ result.autoConfig = autoConfig;
169
204
  }
170
205
  getPrimaryAgentTier(agentName) {
171
206
  return keyword_types_1.ALL_PRIMARY_AGENTS.includes(agentName)
172
207
  ? 'primary'
173
208
  : 'specialist';
174
209
  }
175
- getParallelAgentsRecommendation(mode, config) {
210
+ getParallelAgentsRecommendation(mode, config, prompt) {
176
211
  const modeConfig = config.modes[mode];
177
- const specialists = modeConfig?.defaultSpecialists;
178
- if (!specialists || specialists.length === 0) {
212
+ const baseSpecialists = modeConfig?.defaultSpecialists ?? [];
213
+ const contextSpecialists = prompt
214
+ ? this.getContextAwareSpecialists(prompt)
215
+ : [];
216
+ const allSpecialists = [
217
+ ...new Set([...baseSpecialists, ...contextSpecialists]),
218
+ ];
219
+ if (allSpecialists.length === 0) {
179
220
  return undefined;
180
221
  }
181
222
  return {
182
- specialists: [...specialists],
223
+ specialists: allSpecialists,
183
224
  hint: `Use Task tool with subagent_type="general-purpose" and run_in_background=true for each specialist. Call prepare_parallel_agents MCP tool to get ready-to-use prompts.`,
184
225
  };
185
226
  }
227
+ getContextAwareSpecialists(prompt) {
228
+ const specialists = [];
229
+ for (const { pattern, specialist, } of KeywordService.CONTEXT_SPECIALIST_PATTERNS) {
230
+ if (pattern.test(prompt)) {
231
+ specialists.push(specialist);
232
+ }
233
+ }
234
+ return specialists;
235
+ }
186
236
  async getActAgentRecommendation(prompt) {
187
237
  if (!this.primaryAgentResolver) {
188
238
  return undefined;
@@ -308,4 +358,34 @@ class KeywordService {
308
358
  }
309
359
  }
310
360
  exports.KeywordService = KeywordService;
361
+ KeywordService.CONTEXT_SPECIALIST_PATTERNS = [
362
+ {
363
+ pattern: /보안|security|auth|인증|JWT|OAuth|XSS|CSRF|취약점|vulnerability/i,
364
+ specialist: 'security-specialist',
365
+ },
366
+ {
367
+ pattern: /접근성|accessibility|a11y|WCAG|aria|스크린\s*리더|screen\s*reader/i,
368
+ specialist: 'accessibility-specialist',
369
+ },
370
+ {
371
+ pattern: /성능|performance|최적화|optimiz|빠르게|느린|slow|fast|bundle\s*size|로딩/i,
372
+ specialist: 'performance-specialist',
373
+ },
374
+ {
375
+ pattern: /다국어|i18n|internationalization|번역|locale|translation|localization/i,
376
+ specialist: 'i18n-specialist',
377
+ },
378
+ {
379
+ pattern: /SEO|검색\s*엔진|search\s*engine|메타|meta\s*tag|sitemap|구조화\s*데이터/i,
380
+ specialist: 'seo-specialist',
381
+ },
382
+ {
383
+ pattern: /문서화|document|README|API\s*문서|JSDoc|주석|comment/i,
384
+ specialist: 'documentation-specialist',
385
+ },
386
+ {
387
+ pattern: /UI|UX|디자인|design\s*system|사용자\s*경험|user\s*experience|인터랙션/i,
388
+ specialist: 'ui-ux-designer',
389
+ },
390
+ ];
311
391
  //# sourceMappingURL=keyword.service.js.map
@@ -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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"}
@@ -4,6 +4,11 @@ interface ProjectConfig {
4
4
  }
5
5
  type GetProjectConfigFn = () => Promise<ProjectConfig | null>;
6
6
  type ListPrimaryAgentsFn = () => Promise<string[]>;
7
+ export type IntentPattern = {
8
+ readonly pattern: RegExp;
9
+ readonly confidence: number;
10
+ readonly description: string;
11
+ };
7
12
  export declare class PrimaryAgentResolver {
8
13
  private readonly getProjectConfig;
9
14
  private readonly listPrimaryAgents;
@@ -13,16 +18,17 @@ export declare class PrimaryAgentResolver {
13
18
  private static readonly MOBILE_INTENT_PATTERNS;
14
19
  private static readonly TOOLING_INTENT_PATTERNS;
15
20
  private static readonly PLATFORM_INTENT_PATTERNS;
21
+ private static readonly AI_ML_INTENT_PATTERNS;
22
+ private static readonly BACKEND_INTENT_PATTERNS;
23
+ private static readonly AGENT_INTENT_PATTERNS;
24
+ private static readonly INTENT_PATTERN_CHECKS;
16
25
  private static readonly CONTEXT_PATTERNS;
17
26
  constructor(getProjectConfig: GetProjectConfigFn, listPrimaryAgents: ListPrimaryAgentsFn);
18
27
  resolve(mode: Mode, prompt: string, context?: ResolutionContext, recommendedActAgent?: string): Promise<PrimaryAgentResolutionResult>;
19
28
  private resolvePlanAgent;
20
29
  private choosePlanAgent;
21
30
  private resolveActAgent;
22
- private inferFromToolingPatterns;
23
- private inferFromPlatformPatterns;
24
- private inferFromDataPatterns;
25
- private inferFromMobilePatterns;
31
+ private inferFromIntentPatterns;
26
32
  private parseExplicitRequest;
27
33
  private getFromProjectConfig;
28
34
  private inferFromContext;