codingbuddy 1.2.0 → 1.3.1
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/keyword.module.js +4 -1
- package/dist/src/keyword/keyword.module.js.map +1 -1
- package/dist/src/keyword/keyword.service.d.ts +3 -1
- package/dist/src/keyword/keyword.service.js +36 -2
- package/dist/src/keyword/keyword.service.js.map +1 -1
- package/dist/src/keyword/keyword.types.d.ts +12 -0
- package/dist/src/keyword/keyword.types.js +2 -1
- package/dist/src/keyword/keyword.types.js.map +1 -1
- package/dist/src/rules/rules.service.d.ts +2 -0
- package/dist/src/rules/rules.service.js +13 -1
- package/dist/src/rules/rules.service.js.map +1 -1
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +2 -2
|
@@ -29,7 +29,10 @@ exports.KeywordModule = KeywordModule = __decorate([
|
|
|
29
29
|
const loadRule = async (path) => {
|
|
30
30
|
return rulesService.getRuleContent(path);
|
|
31
31
|
};
|
|
32
|
-
|
|
32
|
+
const loadAgent = async (agentName) => {
|
|
33
|
+
return rulesService.getAgent(agentName);
|
|
34
|
+
};
|
|
35
|
+
return new keyword_service_1.KeywordService(loadConfig, loadRule, loadAgent);
|
|
33
36
|
},
|
|
34
37
|
inject: [rules_service_1.RulesService],
|
|
35
38
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"keyword.module.js","sourceRoot":"","sources":["../../../src/keyword/keyword.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAwC;AACxC,wDAAoD;AACpD,0DAAsD;AACtD,uDAAmD;AAGtC,QAAA,eAAe,GAAG,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"keyword.module.js","sourceRoot":"","sources":["../../../src/keyword/keyword.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAwC;AACxC,wDAAoD;AACpD,0DAAsD;AACtD,uDAAmD;AAGtC,QAAA,eAAe,GAAG,iBAAiB,CAAC;AA6B1C,IAAM,aAAa,GAAnB,MAAM,aAAa;CAAG,CAAA;AAAhB,sCAAa;wBAAb,aAAa;IA3BzB,IAAA,eAAM,EAAC;QACN,OAAO,EAAE,CAAC,0BAAW,CAAC;QACtB,SAAS,EAAE;YACT;gBACE,OAAO,EAAE,uBAAe;gBACxB,UAAU,EAAE,CAAC,YAA0B,EAAE,EAAE;oBACzC,MAAM,UAAU,GAAG,KAAK,IAAiC,EAAE;wBACzD,MAAM,OAAO,GACX,MAAM,YAAY,CAAC,cAAc,CAAC,oBAAoB,CAAC,CAAC;wBAC1D,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAuB,CAAC;oBACnD,CAAC,CAAC;oBAEF,MAAM,QAAQ,GAAG,KAAK,EAAE,IAAY,EAAmB,EAAE;wBACvD,OAAO,YAAY,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;oBAC3C,CAAC,CAAC;oBAEF,MAAM,SAAS,GAAG,KAAK,EAAE,SAAiB,EAAgB,EAAE;wBAC1D,OAAO,YAAY,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;oBAC1C,CAAC,CAAC;oBAEF,OAAO,IAAI,gCAAc,CAAC,UAAU,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;gBAC7D,CAAC;gBACD,MAAM,EAAE,CAAC,4BAAY,CAAC;aACvB;SACF;QACD,OAAO,EAAE,CAAC,uBAAe,CAAC;KAC3B,CAAC;GACW,aAAa,CAAG"}
|
|
@@ -2,9 +2,11 @@ import { type Mode, type RuleContent, type ParseModeResult, type KeywordModesCon
|
|
|
2
2
|
export declare class KeywordService {
|
|
3
3
|
private readonly loadConfigFn;
|
|
4
4
|
private readonly loadRuleFn;
|
|
5
|
+
private readonly loadAgentInfoFn?;
|
|
5
6
|
private configCache;
|
|
6
|
-
constructor(loadConfigFn: () => Promise<KeywordModesConfig>, loadRuleFn: (path: string) => Promise<string>);
|
|
7
|
+
constructor(loadConfigFn: () => Promise<KeywordModesConfig>, loadRuleFn: (path: string) => Promise<string>, loadAgentInfoFn?: ((agentName: string) => Promise<any>) | undefined);
|
|
7
8
|
parseMode(prompt: string): Promise<ParseModeResult>;
|
|
8
9
|
loadModeConfig(): Promise<KeywordModesConfig>;
|
|
9
10
|
getRulesForMode(mode: Mode): Promise<RuleContent[]>;
|
|
11
|
+
private getAgentInfo;
|
|
10
12
|
}
|
|
@@ -8,24 +8,31 @@ const DEFAULT_CONFIG = {
|
|
|
8
8
|
description: 'Task planning and design phase',
|
|
9
9
|
instructions: 'Design first approach. Define test cases from TDD perspective. Review architecture before implementation.',
|
|
10
10
|
rules: ['rules/core.md', 'rules/augmented-coding.md'],
|
|
11
|
+
agent: keyword_types_1.MODE_AGENTS[0],
|
|
12
|
+
delegates_to: 'frontend-developer',
|
|
11
13
|
},
|
|
12
14
|
ACT: {
|
|
13
15
|
description: 'Actual task execution phase',
|
|
14
16
|
instructions: 'Follow Red-Green-Refactor cycle. Implement minimally then improve incrementally. Verify quality standards.',
|
|
15
17
|
rules: ['rules/core.md', 'rules/project.md', 'rules/augmented-coding.md'],
|
|
18
|
+
agent: keyword_types_1.MODE_AGENTS[1],
|
|
19
|
+
delegates_to: 'frontend-developer',
|
|
16
20
|
},
|
|
17
21
|
EVAL: {
|
|
18
22
|
description: 'Result review and assessment phase',
|
|
19
23
|
instructions: 'Review code quality. Verify SOLID principles. Check test coverage. Suggest improvements.',
|
|
20
24
|
rules: ['rules/core.md', 'rules/augmented-coding.md'],
|
|
25
|
+
agent: keyword_types_1.MODE_AGENTS[2],
|
|
26
|
+
delegates_to: 'code-reviewer',
|
|
21
27
|
},
|
|
22
28
|
},
|
|
23
29
|
defaultMode: 'PLAN',
|
|
24
30
|
};
|
|
25
31
|
class KeywordService {
|
|
26
|
-
constructor(loadConfigFn, loadRuleFn) {
|
|
32
|
+
constructor(loadConfigFn, loadRuleFn, loadAgentInfoFn) {
|
|
27
33
|
this.loadConfigFn = loadConfigFn;
|
|
28
34
|
this.loadRuleFn = loadRuleFn;
|
|
35
|
+
this.loadAgentInfoFn = loadAgentInfoFn;
|
|
29
36
|
this.configCache = null;
|
|
30
37
|
}
|
|
31
38
|
async parseMode(prompt) {
|
|
@@ -80,13 +87,24 @@ class KeywordService {
|
|
|
80
87
|
}
|
|
81
88
|
const modeConfig = config.modes[mode];
|
|
82
89
|
const rules = await this.getRulesForMode(mode);
|
|
83
|
-
|
|
90
|
+
const result = {
|
|
84
91
|
mode,
|
|
85
92
|
originalPrompt,
|
|
86
93
|
instructions: modeConfig.instructions,
|
|
87
94
|
rules,
|
|
88
95
|
...(warnings.length > 0 ? { warnings } : {}),
|
|
89
96
|
};
|
|
97
|
+
if (modeConfig.agent) {
|
|
98
|
+
result.agent = modeConfig.agent;
|
|
99
|
+
}
|
|
100
|
+
if (modeConfig.delegates_to) {
|
|
101
|
+
result.delegates_to = modeConfig.delegates_to;
|
|
102
|
+
const delegateAgentInfo = await this.getAgentInfo(modeConfig.delegates_to);
|
|
103
|
+
if (delegateAgentInfo) {
|
|
104
|
+
result.delegate_agent_info = delegateAgentInfo;
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
return result;
|
|
90
108
|
}
|
|
91
109
|
async loadModeConfig() {
|
|
92
110
|
if (this.configCache) {
|
|
@@ -115,6 +133,22 @@ class KeywordService {
|
|
|
115
133
|
}
|
|
116
134
|
return rules;
|
|
117
135
|
}
|
|
136
|
+
async getAgentInfo(agentName) {
|
|
137
|
+
if (!this.loadAgentInfoFn) {
|
|
138
|
+
return undefined;
|
|
139
|
+
}
|
|
140
|
+
try {
|
|
141
|
+
const agentData = await this.loadAgentInfoFn(agentName);
|
|
142
|
+
return {
|
|
143
|
+
name: agentData.name || agentName,
|
|
144
|
+
description: agentData.description || '',
|
|
145
|
+
expertise: agentData.role?.expertise || [],
|
|
146
|
+
};
|
|
147
|
+
}
|
|
148
|
+
catch {
|
|
149
|
+
return undefined;
|
|
150
|
+
}
|
|
151
|
+
}
|
|
118
152
|
}
|
|
119
153
|
exports.KeywordService = KeywordService;
|
|
120
154
|
//# sourceMappingURL=keyword.service.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"keyword.service.js","sourceRoot":"","sources":["../../../src/keyword/keyword.service.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"keyword.service.js","sourceRoot":"","sources":["../../../src/keyword/keyword.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,22 +1,34 @@
|
|
|
1
1
|
export declare const KEYWORDS: readonly ["PLAN", "ACT", "EVAL"];
|
|
2
2
|
export type Mode = (typeof KEYWORDS)[number];
|
|
3
|
+
export declare const MODE_AGENTS: readonly ["plan-mode", "act-mode", "eval-mode"];
|
|
4
|
+
export type ModeAgent = (typeof MODE_AGENTS)[number];
|
|
3
5
|
export declare const LOCALIZED_KEYWORD_MAP: Record<string, Mode>;
|
|
4
6
|
export declare const KOREAN_KEYWORD_MAP: Record<string, "PLAN" | "ACT" | "EVAL">;
|
|
5
7
|
export interface RuleContent {
|
|
6
8
|
name: string;
|
|
7
9
|
content: string;
|
|
8
10
|
}
|
|
11
|
+
export interface AgentInfo {
|
|
12
|
+
name: string;
|
|
13
|
+
description: string;
|
|
14
|
+
expertise: string[];
|
|
15
|
+
}
|
|
9
16
|
export interface ParseModeResult {
|
|
10
17
|
mode: Mode;
|
|
11
18
|
originalPrompt: string;
|
|
12
19
|
instructions: string;
|
|
13
20
|
rules: RuleContent[];
|
|
14
21
|
warnings?: string[];
|
|
22
|
+
agent?: string;
|
|
23
|
+
delegates_to?: string;
|
|
24
|
+
delegate_agent_info?: AgentInfo;
|
|
15
25
|
}
|
|
16
26
|
export interface ModeConfig {
|
|
17
27
|
description: string;
|
|
18
28
|
instructions: string;
|
|
19
29
|
rules: string[];
|
|
30
|
+
agent?: string;
|
|
31
|
+
delegates_to?: string;
|
|
20
32
|
}
|
|
21
33
|
export interface KeywordModesConfig {
|
|
22
34
|
modes: Record<Mode, ModeConfig>;
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.KOREAN_KEYWORD_MAP = exports.LOCALIZED_KEYWORD_MAP = exports.KEYWORDS = void 0;
|
|
3
|
+
exports.KOREAN_KEYWORD_MAP = exports.LOCALIZED_KEYWORD_MAP = exports.MODE_AGENTS = exports.KEYWORDS = void 0;
|
|
4
4
|
exports.KEYWORDS = ['PLAN', 'ACT', 'EVAL'];
|
|
5
|
+
exports.MODE_AGENTS = ['plan-mode', 'act-mode', 'eval-mode'];
|
|
5
6
|
exports.LOCALIZED_KEYWORD_MAP = {
|
|
6
7
|
계획: 'PLAN',
|
|
7
8
|
실행: 'ACT',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"keyword.types.js","sourceRoot":"","sources":["../../../src/keyword/keyword.types.ts"],"names":[],"mappings":";;;AAAa,QAAA,QAAQ,GAAG,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,CAAU,CAAC;AAK5C,QAAA,qBAAqB,GAAyB;IAEzD,EAAE,EAAE,MAAM;IACV,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,MAAM;IAEV,EAAE,EAAE,MAAM;IACV,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,MAAM;IAEV,EAAE,EAAE,MAAM;IACV,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,MAAM;IAEV,UAAU,EAAE,MAAM;IAClB,MAAM,EAAE,KAAK;IACb,OAAO,EAAE,MAAM;CACP,CAAC;AAGE,QAAA,kBAAkB,GAAG,6BAAqB,CAAC"}
|
|
1
|
+
{"version":3,"file":"keyword.types.js","sourceRoot":"","sources":["../../../src/keyword/keyword.types.ts"],"names":[],"mappings":";;;AAAa,QAAA,QAAQ,GAAG,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,CAAU,CAAC;AAK5C,QAAA,WAAW,GAAG,CAAC,WAAW,EAAE,UAAU,EAAE,WAAW,CAAU,CAAC;AAK9D,QAAA,qBAAqB,GAAyB;IAEzD,EAAE,EAAE,MAAM;IACV,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,MAAM;IAEV,EAAE,EAAE,MAAM;IACV,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,MAAM;IAEV,EAAE,EAAE,MAAM;IACV,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,MAAM;IAEV,UAAU,EAAE,MAAM;IAClB,MAAM,EAAE,KAAK;IACb,OAAO,EAAE,MAAM;CACP,CAAC;AAGE,QAAA,kBAAkB,GAAG,6BAAqB,CAAC"}
|
|
@@ -9,6 +9,8 @@ export declare class RulesService {
|
|
|
9
9
|
private checkExists;
|
|
10
10
|
getRuleContent(relativePath: string): Promise<string>;
|
|
11
11
|
listAgents(): Promise<string[]>;
|
|
12
|
+
private sortAgentsByPriority;
|
|
13
|
+
isModeAgent(agentName: string): boolean;
|
|
12
14
|
getAgent(name: string): Promise<AgentProfile>;
|
|
13
15
|
searchRules(query: string): Promise<SearchResult[]>;
|
|
14
16
|
}
|
|
@@ -18,6 +18,7 @@ const path = require("path");
|
|
|
18
18
|
const security_utils_1 = require("../shared/security.utils");
|
|
19
19
|
const agent_schema_1 = require("./agent.schema");
|
|
20
20
|
const custom_1 = require("../custom");
|
|
21
|
+
const keyword_types_1 = require("../keyword/keyword.types");
|
|
21
22
|
let RulesService = RulesService_1 = class RulesService {
|
|
22
23
|
constructor(customService) {
|
|
23
24
|
this.customService = customService;
|
|
@@ -78,15 +79,26 @@ let RulesService = RulesService_1 = class RulesService {
|
|
|
78
79
|
const agentsDir = path.join(this.rulesDir, 'agents');
|
|
79
80
|
try {
|
|
80
81
|
const files = await fs.readdir(agentsDir);
|
|
81
|
-
|
|
82
|
+
const agents = files
|
|
82
83
|
.filter(f => f.endsWith('.json'))
|
|
83
84
|
.map(f => f.replace('.json', ''));
|
|
85
|
+
return this.sortAgentsByPriority(agents);
|
|
84
86
|
}
|
|
85
87
|
catch (error) {
|
|
86
88
|
this.logger.error('Failed to list agents', error);
|
|
87
89
|
return [];
|
|
88
90
|
}
|
|
89
91
|
}
|
|
92
|
+
sortAgentsByPriority(agents) {
|
|
93
|
+
const modeAgentSet = new Set(keyword_types_1.MODE_AGENTS);
|
|
94
|
+
const foundModeAgents = agents.filter(agent => modeAgentSet.has(agent));
|
|
95
|
+
const otherAgents = agents.filter(agent => !modeAgentSet.has(agent));
|
|
96
|
+
const sortedModeAgents = keyword_types_1.MODE_AGENTS.filter(agent => foundModeAgents.includes(agent));
|
|
97
|
+
return [...sortedModeAgents, ...otherAgents.sort()];
|
|
98
|
+
}
|
|
99
|
+
isModeAgent(agentName) {
|
|
100
|
+
return keyword_types_1.MODE_AGENTS.includes(agentName);
|
|
101
|
+
}
|
|
90
102
|
async getAgent(name) {
|
|
91
103
|
const content = await this.getRuleContent(`agents/${name}.json`);
|
|
92
104
|
try {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rules.service.js","sourceRoot":"","sources":["../../../src/rules/rules.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,2CAAoD;AACpD,kCAAkC;AAClC,2BAAgC;AAChC,6BAA6B;AAE7B,6DAAsD;AACtD,iDAAqE;AACrE,sCAA0C;
|
|
1
|
+
{"version":3,"file":"rules.service.js","sourceRoot":"","sources":["../../../src/rules/rules.service.ts"],"names":[],"mappings":"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"}
|