codingbuddy 2.0.0 → 2.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.
Files changed (116) hide show
  1. package/dist/src/app.module.js +4 -0
  2. package/dist/src/app.module.js.map +1 -1
  3. package/dist/src/checklist/checklist.module.d.ts +2 -0
  4. package/dist/src/checklist/checklist.module.js +29 -0
  5. package/dist/src/checklist/checklist.module.js.map +1 -0
  6. package/dist/src/checklist/checklist.schema.d.ts +14 -0
  7. package/dist/src/checklist/checklist.schema.js +189 -0
  8. package/dist/src/checklist/checklist.schema.js.map +1 -0
  9. package/dist/src/checklist/checklist.service.d.ts +21 -0
  10. package/dist/src/checklist/checklist.service.js +258 -0
  11. package/dist/src/checklist/checklist.service.js.map +1 -0
  12. package/dist/src/checklist/checklist.types.d.ts +56 -0
  13. package/dist/src/checklist/checklist.types.js +24 -0
  14. package/dist/src/checklist/checklist.types.js.map +1 -0
  15. package/dist/src/checklist/index.d.ts +3 -0
  16. package/dist/src/checklist/index.js +20 -0
  17. package/dist/src/checklist/index.js.map +1 -0
  18. package/dist/src/cli/cli.types.d.ts +0 -6
  19. package/dist/src/cli/index.d.ts +1 -1
  20. package/dist/src/cli/index.js.map +1 -1
  21. package/dist/src/cli/init/init.command.js +10 -1
  22. package/dist/src/cli/init/init.command.js.map +1 -1
  23. package/dist/src/cli/init/prompts/agent-prompt.d.ts +9 -0
  24. package/dist/src/cli/init/prompts/agent-prompt.js +28 -0
  25. package/dist/src/cli/init/prompts/agent-prompt.js.map +1 -0
  26. package/dist/src/cli/init/prompts/index.d.ts +5 -0
  27. package/dist/src/cli/init/prompts/index.js +9 -1
  28. package/dist/src/cli/init/prompts/index.js.map +1 -1
  29. package/dist/src/cli/init/prompts/language-prompt.d.ts +8 -0
  30. package/dist/src/cli/init/prompts/language-prompt.js +30 -0
  31. package/dist/src/cli/init/prompts/language-prompt.js.map +1 -0
  32. package/dist/src/cli/init/templates/template.renderer.js +16 -6
  33. package/dist/src/cli/init/templates/template.renderer.js.map +1 -1
  34. package/dist/src/cli/init/templates/template.types.d.ts +1 -0
  35. package/dist/src/context/context.module.d.ts +2 -0
  36. package/dist/src/context/context.module.js +23 -0
  37. package/dist/src/context/context.module.js.map +1 -0
  38. package/dist/src/context/context.service.d.ts +21 -0
  39. package/dist/src/context/context.service.js +286 -0
  40. package/dist/src/context/context.service.js.map +1 -0
  41. package/dist/src/context/context.types.d.ts +50 -0
  42. package/dist/src/context/context.types.js +42 -0
  43. package/dist/src/context/context.types.js.map +1 -0
  44. package/dist/src/context/index.d.ts +3 -0
  45. package/dist/src/context/index.js +20 -0
  46. package/dist/src/context/index.js.map +1 -0
  47. package/dist/src/context/intent-patterns.d.ts +7 -0
  48. package/dist/src/context/intent-patterns.js +50 -0
  49. package/dist/src/context/intent-patterns.js.map +1 -0
  50. package/dist/src/keyword/keyword.service.d.ts +6 -2
  51. package/dist/src/keyword/keyword.service.js +7 -6
  52. package/dist/src/keyword/keyword.service.js.map +1 -1
  53. package/dist/src/keyword/keyword.types.d.ts +15 -2
  54. package/dist/src/keyword/keyword.types.js +63 -1
  55. package/dist/src/keyword/keyword.types.js.map +1 -1
  56. package/dist/src/keyword/primary-agent-resolver.d.ts +6 -0
  57. package/dist/src/keyword/primary-agent-resolver.js +211 -0
  58. package/dist/src/keyword/primary-agent-resolver.js.map +1 -1
  59. package/dist/src/mcp/handlers/agent.handler.d.ts +11 -0
  60. package/dist/src/mcp/handlers/agent.handler.js +167 -0
  61. package/dist/src/mcp/handlers/agent.handler.js.map +1 -0
  62. package/dist/src/mcp/handlers/base.handler.d.ts +15 -0
  63. package/dist/src/mcp/handlers/base.handler.js +3 -0
  64. package/dist/src/mcp/handlers/base.handler.js.map +1 -0
  65. package/dist/src/mcp/handlers/checklist-context.handler.d.ts +13 -0
  66. package/dist/src/mcp/handlers/checklist-context.handler.js +141 -0
  67. package/dist/src/mcp/handlers/checklist-context.handler.js.map +1 -0
  68. package/dist/src/mcp/handlers/config.handler.d.ts +15 -0
  69. package/dist/src/mcp/handlers/config.handler.js +104 -0
  70. package/dist/src/mcp/handlers/config.handler.js.map +1 -0
  71. package/dist/src/mcp/handlers/index.d.ts +8 -0
  72. package/dist/src/mcp/handlers/index.js +17 -0
  73. package/dist/src/mcp/handlers/index.js.map +1 -0
  74. package/dist/src/mcp/handlers/mode.handler.d.ts +16 -0
  75. package/dist/src/mcp/handlers/mode.handler.js +100 -0
  76. package/dist/src/mcp/handlers/mode.handler.js.map +1 -0
  77. package/dist/src/mcp/handlers/rules.handler.d.ts +11 -0
  78. package/dist/src/mcp/handlers/rules.handler.js +99 -0
  79. package/dist/src/mcp/handlers/rules.handler.js.map +1 -0
  80. package/dist/src/mcp/handlers/skill.handler.d.ts +11 -0
  81. package/dist/src/mcp/handlers/skill.handler.js +111 -0
  82. package/dist/src/mcp/handlers/skill.handler.js.map +1 -0
  83. package/dist/src/mcp/mcp.module.js +26 -1
  84. package/dist/src/mcp/mcp.module.js.map +1 -1
  85. package/dist/src/mcp/mcp.service.d.ts +3 -25
  86. package/dist/src/mcp/mcp.service.js +13 -366
  87. package/dist/src/mcp/mcp.service.js.map +1 -1
  88. package/dist/src/model/index.d.ts +1 -0
  89. package/dist/src/model/index.js +3 -0
  90. package/dist/src/model/index.js.map +1 -1
  91. package/dist/src/model/model-resolver.service.d.ts +13 -0
  92. package/dist/src/model/model-resolver.service.js +63 -0
  93. package/dist/src/model/model-resolver.service.js.map +1 -0
  94. package/dist/src/model/model.resolver.js +2 -1
  95. package/dist/src/model/model.resolver.js.map +1 -1
  96. package/dist/src/shared/filesystem.interface.d.ts +15 -0
  97. package/dist/src/shared/filesystem.interface.js +14 -0
  98. package/dist/src/shared/filesystem.interface.js.map +1 -0
  99. package/dist/src/shared/node-filesystem.service.d.ts +5 -0
  100. package/dist/src/shared/node-filesystem.service.js +25 -0
  101. package/dist/src/shared/node-filesystem.service.js.map +1 -0
  102. package/dist/src/shared/path.utils.js.map +1 -1
  103. package/dist/src/shared/pattern-matcher.d.ts +11 -0
  104. package/dist/src/shared/pattern-matcher.js +39 -0
  105. package/dist/src/shared/pattern-matcher.js.map +1 -0
  106. package/dist/src/shared/security.utils.d.ts +17 -0
  107. package/dist/src/shared/security.utils.js +63 -0
  108. package/dist/src/shared/security.utils.js.map +1 -1
  109. package/dist/src/shared/validation.constants.d.ts +10 -0
  110. package/dist/src/shared/validation.constants.js +42 -1
  111. package/dist/src/shared/validation.constants.js.map +1 -1
  112. package/dist/tsconfig.build.tsbuildinfo +1 -1
  113. package/package.json +3 -2
  114. package/dist/src/config/config.types.d.ts +0 -2
  115. package/dist/src/config/config.types.js +0 -6
  116. package/dist/src/config/config.types.js.map +0 -1
@@ -0,0 +1,286 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ var ContextService_1;
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ exports.ContextService = void 0;
14
+ const common_1 = require("@nestjs/common");
15
+ const checklist_service_1 = require("../checklist/checklist.service");
16
+ const context_types_1 = require("./context.types");
17
+ const intent_patterns_1 = require("./intent-patterns");
18
+ const pattern_matcher_1 = require("../shared/pattern-matcher");
19
+ const COMPILED_CATEGORY_PATTERNS = (0, pattern_matcher_1.compileCategoryPatterns)(context_types_1.FILE_CATEGORY_PATTERNS);
20
+ let ContextService = ContextService_1 = class ContextService {
21
+ constructor(checklistService) {
22
+ this.checklistService = checklistService;
23
+ this.logger = new common_1.Logger(ContextService_1.name);
24
+ }
25
+ async analyzeTask(input) {
26
+ const { prompt, files, mode: _mode } = input;
27
+ const category = this.detectCategory(files);
28
+ const analysis = this.buildAnalysis(prompt, category, files);
29
+ const riskAssessment = this.assessRisk(category);
30
+ const checklistResult = await this.checklistService.generateChecklist({
31
+ files,
32
+ domains: this.getRelevantDomains(category),
33
+ });
34
+ const recommendedSpecialists = this.recommendSpecialists(category);
35
+ const suggestedWorkflow = this.suggestWorkflow(analysis.intent);
36
+ const contextHints = this.buildContextHints(category, riskAssessment.level);
37
+ return {
38
+ analysis,
39
+ riskAssessment,
40
+ checklists: checklistResult.checklists,
41
+ checklistSummary: checklistResult.summary,
42
+ matchedTriggers: checklistResult.matchedTriggers,
43
+ recommendedSpecialists,
44
+ suggestedWorkflow,
45
+ contextHints,
46
+ };
47
+ }
48
+ detectCategory(files) {
49
+ if (!files || files.length === 0) {
50
+ return 'general';
51
+ }
52
+ for (const file of files) {
53
+ const matchedCategory = (0, pattern_matcher_1.findMatchingCategory)(file, COMPILED_CATEGORY_PATTERNS);
54
+ if (matchedCategory) {
55
+ return matchedCategory;
56
+ }
57
+ }
58
+ return 'general';
59
+ }
60
+ buildAnalysis(prompt, category, files) {
61
+ const intent = this.detectIntent(prompt);
62
+ const complexity = this.assessComplexity(files);
63
+ const keywords = this.extractKeywords(prompt);
64
+ return {
65
+ intent,
66
+ category,
67
+ complexity,
68
+ keywords,
69
+ };
70
+ }
71
+ detectIntent(prompt) {
72
+ return (0, intent_patterns_1.detectIntentFromPatterns)(prompt);
73
+ }
74
+ assessComplexity(files) {
75
+ if (!files || files.length === 0)
76
+ return 'low';
77
+ if (files.length <= 2)
78
+ return 'low';
79
+ if (files.length <= 5)
80
+ return 'medium';
81
+ return 'high';
82
+ }
83
+ extractKeywords(prompt) {
84
+ const commonWords = new Set([
85
+ 'the',
86
+ 'and',
87
+ 'for',
88
+ 'with',
89
+ 'that',
90
+ 'this',
91
+ 'from',
92
+ 'have',
93
+ 'will',
94
+ 'make',
95
+ ]);
96
+ const words = prompt.toLowerCase().split(/\s+/);
97
+ return words.filter(w => w.length > 3 && !commonWords.has(w)).slice(0, 5);
98
+ }
99
+ assessRisk(category) {
100
+ const level = context_types_1.CATEGORY_RISK_LEVELS[category] || 'low';
101
+ const attentionAreas = this.getAttentionAreas(category);
102
+ const reason = this.getRiskReason(category);
103
+ return {
104
+ level,
105
+ reason,
106
+ attentionAreas,
107
+ };
108
+ }
109
+ getAttentionAreas(category) {
110
+ const areas = {
111
+ authentication: [
112
+ 'credential_handling',
113
+ 'session_management',
114
+ 'input_validation',
115
+ ],
116
+ payment: ['pci_compliance', 'transaction_integrity', 'error_handling'],
117
+ api: ['input_validation', 'rate_limiting', 'error_handling'],
118
+ ui: ['accessibility', 'responsive_design', 'user_feedback'],
119
+ data: ['data_integrity', 'validation', 'migrations'],
120
+ testing: ['coverage', 'edge_cases', 'integration'],
121
+ general: ['code_quality', 'maintainability'],
122
+ };
123
+ return areas[category] || areas.general;
124
+ }
125
+ getRiskReason(category) {
126
+ const reasons = {
127
+ authentication: 'Authentication is a critical security area. Vulnerabilities can compromise the entire system.',
128
+ payment: 'Payment processing requires strict security and compliance. Errors can cause financial loss.',
129
+ api: 'API endpoints are public-facing and need proper validation and security measures.',
130
+ ui: 'UI components affect user experience and accessibility compliance.',
131
+ data: 'Data layer changes can affect data integrity and require careful migration.',
132
+ testing: 'Test code has lower risk but affects quality assurance.',
133
+ general: 'General code changes with standard risk profile.',
134
+ };
135
+ return reasons[category] || reasons.general;
136
+ }
137
+ getRelevantDomains(category) {
138
+ const domainMap = {
139
+ authentication: ['security', 'testing', 'accessibility'],
140
+ payment: ['security', 'testing', 'performance'],
141
+ api: ['security', 'performance', 'testing'],
142
+ ui: ['accessibility', 'performance', 'seo'],
143
+ data: ['security', 'testing', 'code-quality'],
144
+ testing: ['testing', 'code-quality'],
145
+ general: ['code-quality', 'testing'],
146
+ };
147
+ return domainMap[category] || domainMap.general;
148
+ }
149
+ recommendSpecialists(category) {
150
+ const specialists = context_types_1.CATEGORY_SPECIALISTS[category] || [
151
+ 'code-quality-specialist',
152
+ ];
153
+ return specialists.map((name, index) => ({
154
+ name,
155
+ reason: this.getSpecialistReason(name, category),
156
+ priority: index + 1,
157
+ }));
158
+ }
159
+ getSpecialistReason(specialist, category) {
160
+ const reasons = {
161
+ 'security-specialist': {
162
+ authentication: 'Review authentication security and credential handling',
163
+ payment: 'Ensure payment security and PCI compliance',
164
+ api: 'Review API security and input validation',
165
+ data: 'Review data protection and access controls',
166
+ default: 'Review security aspects',
167
+ },
168
+ 'accessibility-specialist': {
169
+ ui: 'Ensure WCAG 2.1 AA compliance for UI components',
170
+ authentication: 'Review login form accessibility',
171
+ default: 'Review accessibility compliance',
172
+ },
173
+ 'performance-specialist': {
174
+ ui: 'Optimize rendering and bundle size',
175
+ api: 'Review API response times and caching',
176
+ payment: 'Ensure fast transaction processing',
177
+ default: 'Review performance optimizations',
178
+ },
179
+ 'test-strategy-specialist': {
180
+ authentication: 'Ensure comprehensive auth flow testing',
181
+ payment: 'Verify payment edge cases and error handling',
182
+ testing: 'Review test coverage and quality',
183
+ default: 'Review test strategy and coverage',
184
+ },
185
+ 'code-quality-specialist': {
186
+ default: 'Review code quality and maintainability',
187
+ },
188
+ 'ui-ux-designer': {
189
+ ui: 'Review user experience and interaction patterns',
190
+ default: 'Review UI/UX design patterns',
191
+ },
192
+ 'architecture-specialist': {
193
+ data: 'Review data layer architecture',
194
+ default: 'Review system architecture',
195
+ },
196
+ };
197
+ const specialistReasons = reasons[specialist];
198
+ if (!specialistReasons)
199
+ return 'Provide specialized review';
200
+ return (specialistReasons[category] ||
201
+ specialistReasons.default ||
202
+ 'Provide specialized review');
203
+ }
204
+ suggestWorkflow(intent) {
205
+ const basePhases = [
206
+ { phase: 'Design', focus: ['Define requirements', 'Plan approach'] },
207
+ { phase: 'Implementation', focus: ['Write code', 'Follow TDD'] },
208
+ { phase: 'Verification', focus: ['Run tests', 'Code review'] },
209
+ ];
210
+ if (intent === 'bug_fix') {
211
+ return {
212
+ phases: [
213
+ {
214
+ phase: 'Analysis',
215
+ focus: ['Reproduce bug', 'Identify root cause'],
216
+ },
217
+ { phase: 'Fix', focus: ['Write failing test', 'Implement fix'] },
218
+ {
219
+ phase: 'Verification',
220
+ focus: ['Verify fix', 'Check for regressions'],
221
+ },
222
+ ],
223
+ };
224
+ }
225
+ if (intent === 'refactoring') {
226
+ return {
227
+ phases: [
228
+ {
229
+ phase: 'Assessment',
230
+ focus: ['Identify improvement areas', 'Ensure test coverage'],
231
+ },
232
+ {
233
+ phase: 'Refactor',
234
+ focus: ['Small incremental changes', 'Keep tests passing'],
235
+ },
236
+ {
237
+ phase: 'Verification',
238
+ focus: ['Verify behavior unchanged', 'Code review'],
239
+ },
240
+ ],
241
+ };
242
+ }
243
+ if (intent === 'code_review') {
244
+ return {
245
+ phases: [
246
+ {
247
+ phase: 'Review',
248
+ focus: [
249
+ 'Check code quality',
250
+ 'Security review',
251
+ 'Performance check',
252
+ ],
253
+ },
254
+ {
255
+ phase: 'Feedback',
256
+ focus: ['Document issues', 'Suggest improvements'],
257
+ },
258
+ ],
259
+ };
260
+ }
261
+ return { phases: basePhases };
262
+ }
263
+ buildContextHints(category, riskLevel) {
264
+ const mustConsider = [];
265
+ if (category === 'authentication' || category === 'payment') {
266
+ mustConsider.push('OWASP Top 10');
267
+ }
268
+ if (category === 'ui') {
269
+ mustConsider.push('WCAG 2.1 AA');
270
+ }
271
+ if (riskLevel === 'critical' || riskLevel === 'high') {
272
+ mustConsider.push('Security review required');
273
+ }
274
+ return {
275
+ projectType: 'web_application',
276
+ securityLevel: riskLevel,
277
+ mustConsider,
278
+ };
279
+ }
280
+ };
281
+ exports.ContextService = ContextService;
282
+ exports.ContextService = ContextService = ContextService_1 = __decorate([
283
+ (0, common_1.Injectable)(),
284
+ __metadata("design:paramtypes", [checklist_service_1.ChecklistService])
285
+ ], ContextService);
286
+ //# sourceMappingURL=context.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context.service.js","sourceRoot":"","sources":["../../../src/context/context.service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,50 @@
1
+ import type { DomainChecklist, ChecklistSummary, MatchedTrigger } from '../checklist/checklist.types';
2
+ export type TaskIntent = 'feature_development' | 'bug_fix' | 'refactoring' | 'code_review' | 'testing' | 'documentation' | 'performance_optimization' | 'security_hardening' | 'unknown';
3
+ export type RiskLevel = 'low' | 'medium' | 'high' | 'critical';
4
+ export type ComplexityLevel = 'low' | 'medium' | 'high';
5
+ export interface TaskAnalysis {
6
+ intent: TaskIntent;
7
+ category: string;
8
+ complexity: ComplexityLevel;
9
+ keywords: string[];
10
+ }
11
+ export interface RiskAssessment {
12
+ level: RiskLevel;
13
+ reason: string;
14
+ attentionAreas: string[];
15
+ }
16
+ export interface RecommendedSpecialist {
17
+ name: string;
18
+ reason: string;
19
+ priority: number;
20
+ }
21
+ export interface WorkflowPhase {
22
+ phase: string;
23
+ focus: string[];
24
+ }
25
+ export interface SuggestedWorkflow {
26
+ phases: WorkflowPhase[];
27
+ }
28
+ export interface ContextHints {
29
+ projectType?: string;
30
+ securityLevel?: RiskLevel;
31
+ mustConsider: string[];
32
+ }
33
+ export interface AnalyzeTaskInput {
34
+ prompt: string;
35
+ files?: string[];
36
+ mode?: 'PLAN' | 'ACT' | 'EVAL';
37
+ }
38
+ export interface AnalyzeTaskOutput {
39
+ analysis: TaskAnalysis;
40
+ riskAssessment: RiskAssessment;
41
+ checklists: DomainChecklist[];
42
+ checklistSummary: ChecklistSummary;
43
+ matchedTriggers: MatchedTrigger[];
44
+ recommendedSpecialists: RecommendedSpecialist[];
45
+ suggestedWorkflow: SuggestedWorkflow;
46
+ contextHints: ContextHints;
47
+ }
48
+ export declare const FILE_CATEGORY_PATTERNS: Record<string, string[]>;
49
+ export declare const CATEGORY_RISK_LEVELS: Record<string, RiskLevel>;
50
+ export declare const CATEGORY_SPECIALISTS: Record<string, string[]>;
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CATEGORY_SPECIALISTS = exports.CATEGORY_RISK_LEVELS = exports.FILE_CATEGORY_PATTERNS = void 0;
4
+ exports.FILE_CATEGORY_PATTERNS = {
5
+ authentication: [
6
+ '**/auth/**',
7
+ '**/login/**',
8
+ '**/session/**',
9
+ '**/password/**',
10
+ ],
11
+ payment: [
12
+ '**/payment/**',
13
+ '**/checkout/**',
14
+ '**/billing/**',
15
+ '**/subscription/**',
16
+ ],
17
+ api: ['**/api/**', '**/handler/**', '**/route/**', '**/endpoint/**'],
18
+ ui: ['**/components/**', '**/features/**', '**/widgets/**', '**/page/**'],
19
+ data: ['**/model/**', '**/entity/**', '**/schema/**', '**/database/**'],
20
+ testing: ['**/*.spec.*', '**/*.test.*', '**/test/**', '**/__tests__/**'],
21
+ };
22
+ exports.CATEGORY_RISK_LEVELS = {
23
+ authentication: 'critical',
24
+ payment: 'critical',
25
+ api: 'high',
26
+ data: 'high',
27
+ ui: 'medium',
28
+ testing: 'low',
29
+ };
30
+ exports.CATEGORY_SPECIALISTS = {
31
+ authentication: ['security-specialist', 'test-strategy-specialist'],
32
+ payment: ['security-specialist', 'test-strategy-specialist'],
33
+ api: [
34
+ 'security-specialist',
35
+ 'performance-specialist',
36
+ 'test-strategy-specialist',
37
+ ],
38
+ ui: ['accessibility-specialist', 'ui-ux-designer', 'performance-specialist'],
39
+ data: ['architecture-specialist', 'security-specialist'],
40
+ testing: ['test-strategy-specialist', 'code-quality-specialist'],
41
+ };
42
+ //# sourceMappingURL=context.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context.types.js","sourceRoot":"","sources":["../../../src/context/context.types.ts"],"names":[],"mappings":";;;AAuHa,QAAA,sBAAsB,GAA6B;IAC9D,cAAc,EAAE;QACd,YAAY;QACZ,aAAa;QACb,eAAe;QACf,gBAAgB;KACjB;IACD,OAAO,EAAE;QACP,eAAe;QACf,gBAAgB;QAChB,eAAe;QACf,oBAAoB;KACrB;IACD,GAAG,EAAE,CAAC,WAAW,EAAE,eAAe,EAAE,aAAa,EAAE,gBAAgB,CAAC;IACpE,EAAE,EAAE,CAAC,kBAAkB,EAAE,gBAAgB,EAAE,eAAe,EAAE,YAAY,CAAC;IACzE,IAAI,EAAE,CAAC,aAAa,EAAE,cAAc,EAAE,cAAc,EAAE,gBAAgB,CAAC;IACvE,OAAO,EAAE,CAAC,aAAa,EAAE,aAAa,EAAE,YAAY,EAAE,iBAAiB,CAAC;CACzE,CAAC;AAKW,QAAA,oBAAoB,GAA8B;IAC7D,cAAc,EAAE,UAAU;IAC1B,OAAO,EAAE,UAAU;IACnB,GAAG,EAAE,MAAM;IACX,IAAI,EAAE,MAAM;IACZ,EAAE,EAAE,QAAQ;IACZ,OAAO,EAAE,KAAK;CACf,CAAC;AAKW,QAAA,oBAAoB,GAA6B;IAC5D,cAAc,EAAE,CAAC,qBAAqB,EAAE,0BAA0B,CAAC;IACnE,OAAO,EAAE,CAAC,qBAAqB,EAAE,0BAA0B,CAAC;IAC5D,GAAG,EAAE;QACH,qBAAqB;QACrB,wBAAwB;QACxB,0BAA0B;KAC3B;IACD,EAAE,EAAE,CAAC,0BAA0B,EAAE,gBAAgB,EAAE,wBAAwB,CAAC;IAC5E,IAAI,EAAE,CAAC,yBAAyB,EAAE,qBAAqB,CAAC;IACxD,OAAO,EAAE,CAAC,0BAA0B,EAAE,yBAAyB,CAAC;CACjE,CAAC"}
@@ -0,0 +1,3 @@
1
+ export * from './context.module';
2
+ export * from './context.service';
3
+ export * from './context.types';
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./context.module"), exports);
18
+ __exportStar(require("./context.service"), exports);
19
+ __exportStar(require("./context.types"), exports);
20
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/context/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,mDAAiC;AACjC,oDAAkC;AAClC,kDAAgC"}
@@ -0,0 +1,7 @@
1
+ import type { TaskIntent } from './context.types';
2
+ export interface IntentPattern {
3
+ intent: TaskIntent;
4
+ keywords: readonly string[];
5
+ }
6
+ export declare const INTENT_PATTERNS: readonly IntentPattern[];
7
+ export declare function detectIntentFromPatterns(prompt: string): TaskIntent;
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.INTENT_PATTERNS = void 0;
4
+ exports.detectIntentFromPatterns = detectIntentFromPatterns;
5
+ exports.INTENT_PATTERNS = [
6
+ {
7
+ intent: 'bug_fix',
8
+ keywords: ['fix', 'bug', 'error', 'issue', 'broken'],
9
+ },
10
+ {
11
+ intent: 'refactoring',
12
+ keywords: ['refactor', 'clean', 'improve', 'restructure'],
13
+ },
14
+ {
15
+ intent: 'code_review',
16
+ keywords: ['review', 'check', 'audit', 'inspect'],
17
+ },
18
+ {
19
+ intent: 'testing',
20
+ keywords: ['test', 'spec', 'coverage', 'unit test'],
21
+ },
22
+ {
23
+ intent: 'documentation',
24
+ keywords: ['doc', 'readme', 'comment', 'jsdoc'],
25
+ },
26
+ {
27
+ intent: 'performance_optimization',
28
+ keywords: ['performance', 'optimize', 'speed', 'fast', 'slow', 'latency'],
29
+ },
30
+ {
31
+ intent: 'security_hardening',
32
+ keywords: ['security', 'vulnerability', 'auth', 'secure', 'xss', 'csrf'],
33
+ },
34
+ {
35
+ intent: 'feature_development',
36
+ keywords: ['add', 'create', 'implement', 'build', 'new', 'feature'],
37
+ },
38
+ ];
39
+ function detectIntentFromPatterns(prompt) {
40
+ const promptLower = prompt.toLowerCase();
41
+ for (const pattern of exports.INTENT_PATTERNS) {
42
+ for (const keyword of pattern.keywords) {
43
+ if (promptLower.includes(keyword)) {
44
+ return pattern.intent;
45
+ }
46
+ }
47
+ }
48
+ return 'unknown';
49
+ }
50
+ //# sourceMappingURL=intent-patterns.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"intent-patterns.js","sourceRoot":"","sources":["../../../src/context/intent-patterns.ts"],"names":[],"mappings":";;;AAwDA,4DAYC;AApDY,QAAA,eAAe,GAA6B;IACvD;QACE,MAAM,EAAE,SAAS;QACjB,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC;KACrD;IACD;QACE,MAAM,EAAE,aAAa;QACrB,QAAQ,EAAE,CAAC,UAAU,EAAE,OAAO,EAAE,SAAS,EAAE,aAAa,CAAC;KAC1D;IACD;QACE,MAAM,EAAE,aAAa;QACrB,QAAQ,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,CAAC;KAClD;IACD;QACE,MAAM,EAAE,SAAS;QACjB,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,WAAW,CAAC;KACpD;IACD;QACE,MAAM,EAAE,eAAe;QACvB,QAAQ,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,CAAC;KAChD;IACD;QACE,MAAM,EAAE,0BAA0B;QAClC,QAAQ,EAAE,CAAC,aAAa,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,CAAC;KAC1E;IACD;QACE,MAAM,EAAE,oBAAoB;QAC5B,QAAQ,EAAE,CAAC,UAAU,EAAE,eAAe,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,CAAC;KACzE;IACD;QACE,MAAM,EAAE,qBAAqB;QAC7B,QAAQ,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,CAAC;KACpE;CACO,CAAC;AAOX,SAAgB,wBAAwB,CAAC,MAAc;IACrD,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;IAEzC,KAAK,MAAM,OAAO,IAAI,uBAAe,EAAE,CAAC;QACtC,KAAK,MAAM,OAAO,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;YACvC,IAAI,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;gBAClC,OAAO,OAAO,CAAC,MAAM,CAAC;YACxB,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC"}
@@ -1,4 +1,8 @@
1
- import { type Mode, type RuleContent, type ParseModeResult, type KeywordModesConfig } from './keyword.types';
1
+ import { type Mode, type RuleContent, type ParseModeResult, type KeywordModesConfig, type ResolutionContext } from './keyword.types';
2
+ export interface ParseModeOptions {
3
+ recommendedActAgent?: string;
4
+ context?: ResolutionContext;
5
+ }
2
6
  import { PrimaryAgentResolver } from './primary-agent-resolver';
3
7
  export declare class KeywordService {
4
8
  private readonly loadConfigFn;
@@ -8,7 +12,7 @@ export declare class KeywordService {
8
12
  private configCache;
9
13
  private readonly primaryAgentResolver?;
10
14
  constructor(loadConfigFn: () => Promise<KeywordModesConfig>, loadRuleFn: (path: string) => Promise<string>, loadAgentInfoFn?: ((agentName: string) => Promise<unknown>) | undefined, primaryAgentResolver?: PrimaryAgentResolver);
11
- parseMode(prompt: string): Promise<ParseModeResult>;
15
+ parseMode(prompt: string, options?: ParseModeOptions): Promise<ParseModeResult>;
12
16
  private extractModeFromPrompt;
13
17
  private checkForMultipleKeywords;
14
18
  private checkForEmptyContent;
@@ -52,12 +52,13 @@ class KeywordService {
52
52
  this.configCache = null;
53
53
  this.primaryAgentResolver = primaryAgentResolver;
54
54
  }
55
- async parseMode(prompt) {
55
+ async parseMode(prompt, options) {
56
56
  const config = await this.loadModeConfig();
57
57
  const { mode, originalPrompt, warnings } = this.extractModeFromPrompt(prompt, config.defaultMode);
58
58
  const modeConfig = config.modes[mode];
59
59
  const rules = await this.getRulesForMode(mode);
60
- return this.buildParseModeResult(mode, originalPrompt, warnings, modeConfig, rules, config);
60
+ const effectiveRecommendedAgent = mode === 'ACT' ? options?.recommendedActAgent : undefined;
61
+ return this.buildParseModeResult(mode, originalPrompt, warnings, modeConfig, rules, config, options?.context, effectiveRecommendedAgent);
61
62
  }
62
63
  extractModeFromPrompt(prompt, defaultMode) {
63
64
  const warnings = [];
@@ -100,7 +101,7 @@ class KeywordService {
100
101
  warnings.push('No prompt content after keyword');
101
102
  }
102
103
  }
103
- async buildParseModeResult(mode, originalPrompt, warnings, modeConfig, rules, config) {
104
+ async buildParseModeResult(mode, originalPrompt, warnings, modeConfig, rules, config, context, recommendedActAgent) {
104
105
  const filteredRules = (0, rule_filter_1.filterRulesByMode)(rules, mode);
105
106
  const result = {
106
107
  mode,
@@ -112,7 +113,7 @@ class KeywordService {
112
113
  if (modeConfig.agent) {
113
114
  result.agent = modeConfig.agent;
114
115
  }
115
- const resolvedAgent = await this.resolvePrimaryAgent(mode, originalPrompt, modeConfig.delegates_to);
116
+ const resolvedAgent = await this.resolvePrimaryAgent(mode, originalPrompt, modeConfig.delegates_to, context, recommendedActAgent);
116
117
  if (resolvedAgent) {
117
118
  result.delegates_to = resolvedAgent.agentName;
118
119
  result.primary_agent_source = resolvedAgent.source;
@@ -228,9 +229,9 @@ class KeywordService {
228
229
  return undefined;
229
230
  }
230
231
  }
231
- async resolvePrimaryAgent(mode, prompt, staticDelegatesTo, context) {
232
+ async resolvePrimaryAgent(mode, prompt, staticDelegatesTo, context, recommendedActAgent) {
232
233
  if (this.primaryAgentResolver) {
233
- const result = await this.primaryAgentResolver.resolve(mode, prompt, context);
234
+ const result = await this.primaryAgentResolver.resolve(mode, prompt, context, recommendedActAgent);
234
235
  return { agentName: result.agentName, source: result.source };
235
236
  }
236
237
  if (staticDelegatesTo) {
@@ -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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"}
@@ -3,17 +3,30 @@ export type Mode = (typeof KEYWORDS)[number];
3
3
  export declare const MODE_AGENTS: readonly ["plan-mode", "act-mode", "eval-mode"];
4
4
  export type ModeAgent = (typeof MODE_AGENTS)[number];
5
5
  export declare const PLAN_PRIMARY_AGENTS: readonly ["solution-architect", "technical-planner"];
6
- export declare const ACT_PRIMARY_AGENTS: readonly ["frontend-developer", "backend-developer", "devops-engineer", "agent-architect"];
6
+ export declare const ACT_PRIMARY_AGENTS: readonly ["tooling-engineer", "data-engineer", "mobile-developer", "frontend-developer", "backend-developer", "devops-engineer", "agent-architect"];
7
7
  export declare const EVAL_PRIMARY_AGENT: "code-reviewer";
8
8
  export declare const DEFAULT_ACT_AGENT: "frontend-developer";
9
- export declare const ALL_PRIMARY_AGENTS: readonly ["solution-architect", "technical-planner", "frontend-developer", "backend-developer", "devops-engineer", "agent-architect", "code-reviewer"];
9
+ export declare const ALL_PRIMARY_AGENTS: readonly ["solution-architect", "technical-planner", "tooling-engineer", "data-engineer", "mobile-developer", "frontend-developer", "backend-developer", "devops-engineer", "agent-architect", "code-reviewer"];
10
10
  export type PlanPrimaryAgent = (typeof PLAN_PRIMARY_AGENTS)[number];
11
11
  export type ActPrimaryAgent = (typeof ACT_PRIMARY_AGENTS)[number];
12
12
  export type PrimaryAgent = (typeof ALL_PRIMARY_AGENTS)[number];
13
13
  export declare const PLAN_PRIMARY_AGENTS_LIST: string[];
14
14
  export declare const ACT_PRIMARY_AGENTS_LIST: string[];
15
15
  export declare const ALL_PRIMARY_AGENTS_LIST: string[];
16
+ export interface AgentDisplayInfo {
17
+ name: string;
18
+ description: string;
19
+ }
20
+ export declare const ACT_AGENT_DISPLAY_INFO: Record<ActPrimaryAgent, AgentDisplayInfo>;
16
21
  export declare const LOCALIZED_KEYWORD_MAP: Record<string, Mode>;
22
+ export interface LanguageDisplayInfo {
23
+ name: string;
24
+ nativeName: string;
25
+ description: string;
26
+ }
27
+ export declare const SUPPORTED_LANGUAGES: Record<string, LanguageDisplayInfo>;
28
+ export declare const DEFAULT_LANGUAGE_CODE: "ko";
29
+ export declare const SUPPORTED_LANGUAGE_CODES: (keyof typeof SUPPORTED_LANGUAGES)[];
17
30
  export declare const KOREAN_KEYWORD_MAP: Record<string, "PLAN" | "ACT" | "EVAL">;
18
31
  export interface RuleContent {
19
32
  name: string;