codingbuddy 2.3.3 → 2.4.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/config/config.schema.d.ts +11 -0
- package/dist/src/config/config.schema.js +7 -1
- package/dist/src/config/config.schema.js.map +1 -1
- package/dist/src/config/config.service.d.ts +4 -0
- package/dist/src/config/config.service.js +7 -0
- package/dist/src/config/config.service.js.map +1 -1
- package/dist/src/context/context-document.service.d.ts +24 -0
- package/dist/src/context/context-document.service.js +212 -0
- package/dist/src/context/context-document.service.js.map +1 -0
- package/dist/src/context/context-document.types.d.ts +89 -0
- package/dist/src/context/context-document.types.js +53 -0
- package/dist/src/context/context-document.types.js.map +1 -0
- package/dist/src/context/context-parser.utils.d.ts +10 -0
- package/dist/src/context/context-parser.utils.js +214 -0
- package/dist/src/context/context-parser.utils.js.map +1 -0
- package/dist/src/context/context-serializer.utils.d.ts +16 -0
- package/dist/src/context/context-serializer.utils.js +130 -0
- package/dist/src/context/context-serializer.utils.js.map +1 -0
- package/dist/src/context/context.module.js +5 -3
- package/dist/src/context/context.module.js.map +1 -1
- package/dist/src/keyword/keyword.module.js +5 -2
- package/dist/src/keyword/keyword.module.js.map +1 -1
- package/dist/src/keyword/keyword.service.js +20 -10
- package/dist/src/keyword/keyword.service.js.map +1 -1
- package/dist/src/keyword/primary-agent-resolver.d.ts +4 -0
- package/dist/src/keyword/primary-agent-resolver.js +80 -16
- package/dist/src/keyword/primary-agent-resolver.js.map +1 -1
- package/dist/src/mcp/handlers/context-document.handler.d.ts +13 -0
- package/dist/src/mcp/handlers/context-document.handler.js +232 -0
- package/dist/src/mcp/handlers/context-document.handler.js.map +1 -0
- package/dist/src/mcp/handlers/index.d.ts +1 -0
- package/dist/src/mcp/handlers/index.js +3 -1
- package/dist/src/mcp/handlers/index.js.map +1 -1
- package/dist/src/mcp/handlers/mode.handler.d.ts +20 -1
- package/dist/src/mcp/handlers/mode.handler.js +223 -4
- package/dist/src/mcp/handlers/mode.handler.js.map +1 -1
- package/dist/src/mcp/mcp.module.js +3 -0
- package/dist/src/mcp/mcp.module.js.map +1 -1
- package/dist/src/rules/rules.service.js +17 -1
- package/dist/src/rules/rules.service.js.map +1 -1
- package/dist/src/rules/rules.types.d.ts +7 -0
- package/dist/src/session/session.service.d.ts +10 -0
- package/dist/src/session/session.service.js +262 -58
- package/dist/src/session/session.service.js.map +1 -1
- package/dist/src/session/session.types.d.ts +11 -0
- package/dist/src/shared/async.utils.d.ts +12 -0
- package/dist/src/shared/async.utils.js +50 -0
- package/dist/src/shared/async.utils.js.map +1 -1
- package/dist/src/shared/slug.utils.d.ts +2 -0
- package/dist/src/shared/slug.utils.js +20 -0
- package/dist/src/shared/slug.utils.js.map +1 -0
- package/dist/src/state/index.d.ts +3 -0
- package/dist/src/state/index.js +12 -0
- package/dist/src/state/index.js.map +1 -0
- package/dist/src/state/state.module.d.ts +2 -0
- package/dist/src/state/state.module.js +23 -0
- package/dist/src/state/state.module.js.map +1 -0
- package/dist/src/state/state.service.d.ts +21 -0
- package/dist/src/state/state.service.js +214 -0
- package/dist/src/state/state.service.js.map +1 -0
- package/dist/src/state/state.types.d.ts +34 -0
- package/dist/src/state/state.types.js +10 -0
- package/dist/src/state/state.types.js.map +1 -0
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +2 -2
|
@@ -11,6 +11,7 @@ var __metadata = (this && this.__metadata) || function (k, v) {
|
|
|
11
11
|
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
12
12
|
return function (target, key) { decorator(target, key, paramIndex); }
|
|
13
13
|
};
|
|
14
|
+
var ModeHandler_1;
|
|
14
15
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
16
|
exports.ModeHandler = void 0;
|
|
16
17
|
const common_1 = require("@nestjs/common");
|
|
@@ -22,13 +23,32 @@ const language_service_1 = require("../../shared/language.service");
|
|
|
22
23
|
const response_utils_1 = require("../response.utils");
|
|
23
24
|
const model_1 = require("../../model");
|
|
24
25
|
const validation_constants_1 = require("../../shared/validation.constants");
|
|
25
|
-
|
|
26
|
-
|
|
26
|
+
const slug_utils_1 = require("../../shared/slug.utils");
|
|
27
|
+
const session_service_1 = require("../../session/session.service");
|
|
28
|
+
const state_service_1 = require("../../state/state.service");
|
|
29
|
+
const context_document_service_1 = require("../../context/context-document.service");
|
|
30
|
+
const context_document_types_1 = require("../../context/context-document.types");
|
|
31
|
+
const SESSION_TITLE_MAX_LENGTH = 50;
|
|
32
|
+
const SESSION_PATH_PREFIX = 'docs/codingbuddy/sessions/';
|
|
33
|
+
const AUTO_CREATE_MODES = ['PLAN', 'AUTO'];
|
|
34
|
+
const SESSION_WARNINGS = {
|
|
35
|
+
NO_ACTIVE_SESSION: '⚠️ No active session found. PLAN context may be lost. Consider calling get_active_session or create_session.',
|
|
36
|
+
USING_EXISTING_SESSION: '📋 Using existing active session. Call update_session to add PLAN details.',
|
|
37
|
+
SESSION_CREATION_FAILED: '⚠️ Failed to auto-create session. Please call create_session manually.',
|
|
38
|
+
SESSION_CREATION_FAILED_WITH_ERROR: (error) => `⚠️ Failed to auto-create session: ${error}. Please call create_session manually.`,
|
|
39
|
+
};
|
|
40
|
+
let ModeHandler = ModeHandler_1 = class ModeHandler extends abstract_handler_1.AbstractHandler {
|
|
41
|
+
constructor(keywordService, configService, languageService, modelResolverService, sessionService, stateService, contextDocService) {
|
|
27
42
|
super();
|
|
28
43
|
this.keywordService = keywordService;
|
|
29
44
|
this.configService = configService;
|
|
30
45
|
this.languageService = languageService;
|
|
31
46
|
this.modelResolverService = modelResolverService;
|
|
47
|
+
this.sessionService = sessionService;
|
|
48
|
+
this.stateService = stateService;
|
|
49
|
+
this.contextDocService = contextDocService;
|
|
50
|
+
this.logger = new common_1.Logger(ModeHandler_1.name);
|
|
51
|
+
this.emptySessionResult = {};
|
|
32
52
|
}
|
|
33
53
|
getHandledTools() {
|
|
34
54
|
return ['parse_mode'];
|
|
@@ -70,25 +90,224 @@ let ModeHandler = class ModeHandler extends abstract_handler_1.AbstractHandler {
|
|
|
70
90
|
const language = await this.configService.getLanguage();
|
|
71
91
|
const languageInstructionResult = this.languageService.getLanguageInstruction(language || 'en');
|
|
72
92
|
const resolvedModel = await this.modelResolverService.resolveForMode(result.agent);
|
|
93
|
+
const contextResult = await this.handleContextDocument(result.mode, result.originalPrompt, result.agent, result.recommended_act_agent);
|
|
94
|
+
const sessionInfo = await this.handleAutoSession(result.mode, result.originalPrompt);
|
|
95
|
+
if (sessionInfo.autoSession?.sessionId && result.agent) {
|
|
96
|
+
await this.autoAddModeSection(sessionInfo.autoSession.sessionId, result.mode, result.agent, result.originalPrompt, result.recommended_act_agent);
|
|
97
|
+
}
|
|
98
|
+
else if (sessionInfo.autoSession?.sessionId && !result.agent) {
|
|
99
|
+
this.logger.debug(`Skipping auto-add section: agent is undefined for mode ${result.mode}`);
|
|
100
|
+
}
|
|
101
|
+
await this.persistModeState(result.mode, sessionInfo.autoSession?.sessionId);
|
|
73
102
|
return (0, response_utils_1.createJsonResponse)({
|
|
74
103
|
...result,
|
|
75
104
|
language,
|
|
76
105
|
languageInstruction: languageInstructionResult.instruction,
|
|
77
106
|
resolvedModel,
|
|
107
|
+
...sessionInfo,
|
|
108
|
+
...contextResult,
|
|
78
109
|
});
|
|
79
110
|
}
|
|
80
111
|
catch (error) {
|
|
81
112
|
return (0, response_utils_1.createErrorResponse)(`Failed to parse mode: ${error instanceof Error ? error.message : 'Unknown error'}`);
|
|
82
113
|
}
|
|
83
114
|
}
|
|
115
|
+
async handleContextDocument(mode, originalPrompt, agent, recommendedActAgent) {
|
|
116
|
+
const title = this.generateSessionTitle(originalPrompt);
|
|
117
|
+
if (mode === 'PLAN' || mode === 'AUTO') {
|
|
118
|
+
const result = await this.contextDocService.resetContext({
|
|
119
|
+
title,
|
|
120
|
+
task: originalPrompt,
|
|
121
|
+
primaryAgent: agent,
|
|
122
|
+
recommendedActAgent: recommendedActAgent?.agentName,
|
|
123
|
+
recommendedActAgentConfidence: recommendedActAgent?.confidence,
|
|
124
|
+
});
|
|
125
|
+
if (!result.success) {
|
|
126
|
+
this.logger.warn(`Failed to reset context: ${result.error}`);
|
|
127
|
+
return {
|
|
128
|
+
contextFilePath: context_document_types_1.CONTEXT_FILE_PATH,
|
|
129
|
+
contextExists: false,
|
|
130
|
+
contextWarning: `⚠️ Failed to create context document: ${result.error}`,
|
|
131
|
+
mandatoryAction: '📝 Call update_context tool manually to create context document.',
|
|
132
|
+
};
|
|
133
|
+
}
|
|
134
|
+
this.logger.log('Context document reset for PLAN mode');
|
|
135
|
+
return {
|
|
136
|
+
contextFilePath: context_document_types_1.CONTEXT_FILE_PATH,
|
|
137
|
+
contextExists: true,
|
|
138
|
+
contextDocument: result.document,
|
|
139
|
+
mandatoryAction: '📝 MANDATORY: Call update_context before completion to persist decisions and notes.',
|
|
140
|
+
};
|
|
141
|
+
}
|
|
142
|
+
const readResult = await this.contextDocService.readContext();
|
|
143
|
+
if (!readResult.exists || !readResult.document) {
|
|
144
|
+
this.logger.warn('No context document found for ACT/EVAL mode');
|
|
145
|
+
return {
|
|
146
|
+
contextFilePath: context_document_types_1.CONTEXT_FILE_PATH,
|
|
147
|
+
contextExists: false,
|
|
148
|
+
contextWarning: '⚠️ No context document found. Run PLAN mode first to create context.',
|
|
149
|
+
mandatoryAction: '📝 Start with PLAN mode to initialize context, then switch to ACT/EVAL.',
|
|
150
|
+
};
|
|
151
|
+
}
|
|
152
|
+
const appendResult = await this.contextDocService.appendContext({
|
|
153
|
+
mode,
|
|
154
|
+
task: originalPrompt || `${mode} mode execution`,
|
|
155
|
+
primaryAgent: agent,
|
|
156
|
+
status: 'in_progress',
|
|
157
|
+
});
|
|
158
|
+
return {
|
|
159
|
+
contextFilePath: context_document_types_1.CONTEXT_FILE_PATH,
|
|
160
|
+
contextExists: true,
|
|
161
|
+
contextDocument: appendResult.document || readResult.document,
|
|
162
|
+
mandatoryAction: '📝 MANDATORY: Call update_context before completion to persist progress and notes.',
|
|
163
|
+
};
|
|
164
|
+
}
|
|
165
|
+
async handleAutoSession(mode, originalPrompt) {
|
|
166
|
+
if (!AUTO_CREATE_MODES.includes(mode)) {
|
|
167
|
+
return this.checkActiveSessionForNonCreateModes(mode);
|
|
168
|
+
}
|
|
169
|
+
try {
|
|
170
|
+
return await this.handleSessionCreation(originalPrompt);
|
|
171
|
+
}
|
|
172
|
+
catch (error) {
|
|
173
|
+
return this.handleSessionCreationError(error);
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
async checkActiveSessionForNonCreateModes(mode) {
|
|
177
|
+
if (mode === 'ACT' || mode === 'EVAL') {
|
|
178
|
+
const activeSession = await this.sessionService.getActiveSession();
|
|
179
|
+
if (!activeSession) {
|
|
180
|
+
return {
|
|
181
|
+
sessionWarning: SESSION_WARNINGS.NO_ACTIVE_SESSION,
|
|
182
|
+
};
|
|
183
|
+
}
|
|
184
|
+
return {
|
|
185
|
+
autoSession: {
|
|
186
|
+
sessionId: activeSession.metadata.id,
|
|
187
|
+
filePath: `${SESSION_PATH_PREFIX}${activeSession.metadata.id}.md`,
|
|
188
|
+
created: false,
|
|
189
|
+
},
|
|
190
|
+
sessionContext: this.buildSessionContext(activeSession),
|
|
191
|
+
};
|
|
192
|
+
}
|
|
193
|
+
return this.emptySessionResult;
|
|
194
|
+
}
|
|
195
|
+
buildSessionContext(session) {
|
|
196
|
+
const allDecisions = [];
|
|
197
|
+
const allNotes = [];
|
|
198
|
+
for (const section of session.sections) {
|
|
199
|
+
if (section.decisions) {
|
|
200
|
+
allDecisions.push(...section.decisions);
|
|
201
|
+
}
|
|
202
|
+
if (section.notes) {
|
|
203
|
+
allNotes.push(...section.notes);
|
|
204
|
+
}
|
|
205
|
+
}
|
|
206
|
+
const planSection = session.sections.find(s => s.mode === 'PLAN');
|
|
207
|
+
const recommendedActAgent = planSection?.recommendedActAgent &&
|
|
208
|
+
planSection.recommendedActAgentConfidence
|
|
209
|
+
? {
|
|
210
|
+
agent: planSection.recommendedActAgent,
|
|
211
|
+
confidence: planSection.recommendedActAgentConfidence,
|
|
212
|
+
}
|
|
213
|
+
: undefined;
|
|
214
|
+
return {
|
|
215
|
+
sessionId: session.metadata.id,
|
|
216
|
+
title: session.metadata.title,
|
|
217
|
+
previousSections: session.sections,
|
|
218
|
+
recommendedActAgent,
|
|
219
|
+
allDecisions,
|
|
220
|
+
allNotes,
|
|
221
|
+
};
|
|
222
|
+
}
|
|
223
|
+
async handleSessionCreation(originalPrompt) {
|
|
224
|
+
const existingSession = await this.sessionService.getActiveSession();
|
|
225
|
+
if (existingSession) {
|
|
226
|
+
return this.handleExistingSession(existingSession);
|
|
227
|
+
}
|
|
228
|
+
const title = this.generateSessionTitle(originalPrompt);
|
|
229
|
+
return this.createNewSession(title);
|
|
230
|
+
}
|
|
231
|
+
async handleExistingSession(session) {
|
|
232
|
+
this.logger.debug(`Active session already exists: ${session.metadata.id}`);
|
|
233
|
+
return {
|
|
234
|
+
autoSession: {
|
|
235
|
+
sessionId: session.metadata.id,
|
|
236
|
+
filePath: `${SESSION_PATH_PREFIX}${session.metadata.id}.md`,
|
|
237
|
+
created: false,
|
|
238
|
+
},
|
|
239
|
+
sessionWarning: SESSION_WARNINGS.USING_EXISTING_SESSION,
|
|
240
|
+
sessionContext: this.buildSessionContext(session),
|
|
241
|
+
};
|
|
242
|
+
}
|
|
243
|
+
async createNewSession(title) {
|
|
244
|
+
const createResult = await this.sessionService.createSession({ title });
|
|
245
|
+
if (createResult.success && createResult.sessionId) {
|
|
246
|
+
this.logger.log(`Auto-created session: ${createResult.sessionId}`);
|
|
247
|
+
return {
|
|
248
|
+
autoSession: {
|
|
249
|
+
sessionId: createResult.sessionId,
|
|
250
|
+
filePath: createResult.filePath || '',
|
|
251
|
+
created: true,
|
|
252
|
+
},
|
|
253
|
+
};
|
|
254
|
+
}
|
|
255
|
+
return {
|
|
256
|
+
sessionWarning: SESSION_WARNINGS.SESSION_CREATION_FAILED_WITH_ERROR(createResult.error || 'Unknown error'),
|
|
257
|
+
};
|
|
258
|
+
}
|
|
259
|
+
handleSessionCreationError(error) {
|
|
260
|
+
this.logger.error(`Failed to auto-create session: ${error instanceof Error ? error.message : 'Unknown error'}`);
|
|
261
|
+
return {
|
|
262
|
+
sessionWarning: SESSION_WARNINGS.SESSION_CREATION_FAILED,
|
|
263
|
+
};
|
|
264
|
+
}
|
|
265
|
+
generateSessionTitle(prompt) {
|
|
266
|
+
const slug = (0, slug_utils_1.generateSlug)(prompt, SESSION_TITLE_MAX_LENGTH);
|
|
267
|
+
return slug === 'untitled' ? 'untitled-session' : slug;
|
|
268
|
+
}
|
|
269
|
+
async persistModeState(mode, sessionId) {
|
|
270
|
+
try {
|
|
271
|
+
await this.stateService.updateLastMode(mode);
|
|
272
|
+
if (sessionId) {
|
|
273
|
+
await this.stateService.updateLastSession(sessionId);
|
|
274
|
+
}
|
|
275
|
+
this.logger.debug(`Persisted mode state: mode=${mode}, sessionId=${sessionId || 'none'}`);
|
|
276
|
+
}
|
|
277
|
+
catch (error) {
|
|
278
|
+
this.logger.warn(`Failed to persist mode state: ${error instanceof Error ? error.message : 'Unknown error'}`);
|
|
279
|
+
}
|
|
280
|
+
}
|
|
281
|
+
async autoAddModeSection(sessionId, mode, primaryAgent, task, recommendedActAgent) {
|
|
282
|
+
try {
|
|
283
|
+
await this.sessionService.updateSession({
|
|
284
|
+
sessionId,
|
|
285
|
+
section: {
|
|
286
|
+
mode,
|
|
287
|
+
primaryAgent,
|
|
288
|
+
task,
|
|
289
|
+
recommendedActAgent: recommendedActAgent?.agentName,
|
|
290
|
+
recommendedActAgentConfidence: recommendedActAgent?.confidence,
|
|
291
|
+
status: 'in_progress',
|
|
292
|
+
},
|
|
293
|
+
});
|
|
294
|
+
this.logger.debug(`Auto-added ${mode} section to session ${sessionId}`);
|
|
295
|
+
}
|
|
296
|
+
catch (error) {
|
|
297
|
+
this.logger.warn(`Failed to auto-add mode section: ${error instanceof Error ? error.message : 'Unknown error'}`);
|
|
298
|
+
}
|
|
299
|
+
}
|
|
84
300
|
};
|
|
85
301
|
exports.ModeHandler = ModeHandler;
|
|
86
|
-
exports.ModeHandler = ModeHandler = __decorate([
|
|
302
|
+
exports.ModeHandler = ModeHandler = ModeHandler_1 = __decorate([
|
|
87
303
|
(0, common_1.Injectable)(),
|
|
88
304
|
__param(0, (0, common_1.Inject)(keyword_module_1.KEYWORD_SERVICE)),
|
|
89
305
|
__metadata("design:paramtypes", [keyword_service_1.KeywordService,
|
|
90
306
|
config_service_1.ConfigService,
|
|
91
307
|
language_service_1.LanguageService,
|
|
92
|
-
model_1.ModelResolverService
|
|
308
|
+
model_1.ModelResolverService,
|
|
309
|
+
session_service_1.SessionService,
|
|
310
|
+
state_service_1.StateService,
|
|
311
|
+
context_document_service_1.ContextDocumentService])
|
|
93
312
|
], ModeHandler);
|
|
94
313
|
//# sourceMappingURL=mode.handler.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mode.handler.js","sourceRoot":"","sources":["../../../../src/mcp/handlers/mode.handler.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"mode.handler.js","sourceRoot":"","sources":["../../../../src/mcp/handlers/mode.handler.ts"],"names":[],"mappings":"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"}
|
|
@@ -18,6 +18,7 @@ const agent_module_1 = require("../agent/agent.module");
|
|
|
18
18
|
const checklist_module_1 = require("../checklist/checklist.module");
|
|
19
19
|
const context_module_1 = require("../context/context.module");
|
|
20
20
|
const session_module_1 = require("../session/session.module");
|
|
21
|
+
const state_module_1 = require("../state/state.module");
|
|
21
22
|
const skill_recommendation_service_1 = require("../skill/skill-recommendation.service");
|
|
22
23
|
const language_service_1 = require("../shared/language.service");
|
|
23
24
|
const model_1 = require("../model");
|
|
@@ -31,6 +32,7 @@ const handlers = [
|
|
|
31
32
|
handlers_1.ChecklistContextHandler,
|
|
32
33
|
handlers_1.ConventionsHandler,
|
|
33
34
|
handlers_1.SessionHandler,
|
|
35
|
+
handlers_1.ContextDocumentHandler,
|
|
34
36
|
];
|
|
35
37
|
let McpModule = class McpModule {
|
|
36
38
|
};
|
|
@@ -46,6 +48,7 @@ exports.McpModule = McpModule = __decorate([
|
|
|
46
48
|
checklist_module_1.ChecklistModule,
|
|
47
49
|
context_module_1.ContextModule,
|
|
48
50
|
session_module_1.SessionModule,
|
|
51
|
+
state_module_1.StateModule,
|
|
49
52
|
],
|
|
50
53
|
controllers: [mcp_controller_1.McpController],
|
|
51
54
|
providers: [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp.module.js","sourceRoot":"","sources":["../../../src/mcp/mcp.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAwC;AACxC,+CAA2C;AAC3C,qDAAiD;AACjD,wDAAoD;AACpD,8DAA0D;AAC1D,2DAAkE;AAClE,iEAA6D;AAC7D,wDAAoD;AACpD,oEAAgE;AAChE,8DAA0D;AAC1D,8DAA0D;AAC1D,wFAAmF;AACnF,iEAA6D;AAC7D,oCAAgD;AAGhD,
|
|
1
|
+
{"version":3,"file":"mcp.module.js","sourceRoot":"","sources":["../../../src/mcp/mcp.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAwC;AACxC,+CAA2C;AAC3C,qDAAiD;AACjD,wDAAoD;AACpD,8DAA0D;AAC1D,2DAAkE;AAClE,iEAA6D;AAC7D,wDAAoD;AACpD,oEAAgE;AAChE,8DAA0D;AAC1D,8DAA0D;AAC1D,wDAAoD;AACpD,wFAAmF;AACnF,iEAA6D;AAC7D,oCAAgD;AAGhD,yCAWoB;AAEpB,MAAM,QAAQ,GAAG;IACf,uBAAY;IACZ,wBAAa;IACb,uBAAY;IACZ,uBAAY;IACZ,sBAAW;IACX,kCAAuB;IACvB,6BAAkB;IAClB,yBAAc;IACd,iCAAsB;CACvB,CAAC;AA+BK,IAAM,SAAS,GAAf,MAAM,SAAS;CAAG,CAAA;AAAZ,8BAAS;oBAAT,SAAS;IA7BrB,IAAA,eAAM,EAAC;QACN,OAAO,EAAE;YACP,0BAAW;YACX,8BAAa;YACb,uCAAuB;YACvB,gCAAc;YACd,0BAAW;YACX,kCAAe;YACf,8BAAa;YACb,8BAAa;YACb,0BAAW;SACZ;QACD,WAAW,EAAE,CAAC,8BAAa,CAAC;QAC5B,SAAS,EAAE;YACT,wBAAU;YACV,yDAA0B;YAC1B,kCAAe;YACf,4BAAoB;YACpB,GAAG,QAAQ;YACX;gBACE,OAAO,EAAE,wBAAa;gBACtB,UAAU,EAAE,CACV,GAAG,gBAA2D,EAC9D,EAAE,CAAC,gBAAgB;gBACrB,MAAM,EAAE,QAAQ;aACjB;SACF;QACD,OAAO,EAAE,CAAC,wBAAU,CAAC;KACtB,CAAC;GACW,SAAS,CAAG"}
|
|
@@ -106,7 +106,23 @@ let RulesService = RulesService_1 = class RulesService {
|
|
|
106
106
|
try {
|
|
107
107
|
const parsed = JSON.parse(content);
|
|
108
108
|
const validated = (0, agent_schema_1.parseAgentProfile)(parsed);
|
|
109
|
-
|
|
109
|
+
const agent = {
|
|
110
|
+
...validated,
|
|
111
|
+
source: 'default',
|
|
112
|
+
};
|
|
113
|
+
try {
|
|
114
|
+
const configLanguage = await this.configService.getLanguage();
|
|
115
|
+
if (configLanguage) {
|
|
116
|
+
agent.communication = {
|
|
117
|
+
...agent.communication,
|
|
118
|
+
language: configLanguage,
|
|
119
|
+
};
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
catch (error) {
|
|
123
|
+
this.logger.warn(`Failed to get config language for agent '${name}', using agent default: ${error instanceof Error ? error.message : 'Unknown error'}`);
|
|
124
|
+
}
|
|
125
|
+
return agent;
|
|
110
126
|
}
|
|
111
127
|
catch (error) {
|
|
112
128
|
if (error instanceof agent_schema_1.AgentSchemaError) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rules.service.js","sourceRoot":"","sources":["../../../src/rules/rules.service.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"rules.service.js","sourceRoot":"","sources":["../../../src/rules/rules.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,10 @@
|
|
|
1
1
|
export type RuleSource = 'custom' | 'default';
|
|
2
|
+
export interface AgentCommunication {
|
|
3
|
+
language?: string;
|
|
4
|
+
style?: string;
|
|
5
|
+
approach?: string[];
|
|
6
|
+
[key: string]: unknown;
|
|
7
|
+
}
|
|
2
8
|
export interface AgentProfile {
|
|
3
9
|
name: string;
|
|
4
10
|
description: string;
|
|
@@ -8,6 +14,7 @@ export interface AgentProfile {
|
|
|
8
14
|
tech_stack_reference?: string;
|
|
9
15
|
responsibilities?: string[];
|
|
10
16
|
};
|
|
17
|
+
communication?: AgentCommunication;
|
|
11
18
|
source?: RuleSource;
|
|
12
19
|
[key: string]: unknown;
|
|
13
20
|
}
|
|
@@ -3,7 +3,15 @@ import { ConfigService } from '../config/config.service';
|
|
|
3
3
|
export declare class SessionService {
|
|
4
4
|
private readonly configService;
|
|
5
5
|
private readonly logger;
|
|
6
|
+
private readonly sessionCache;
|
|
7
|
+
private activeSessionId;
|
|
8
|
+
private activeSessionTimestamp;
|
|
6
9
|
constructor(configService: ConfigService);
|
|
10
|
+
private isCacheValid;
|
|
11
|
+
private getFromCache;
|
|
12
|
+
private addToCache;
|
|
13
|
+
private invalidateCache;
|
|
14
|
+
private invalidateSession;
|
|
7
15
|
private getSessionsDir;
|
|
8
16
|
private ensureSessionsDir;
|
|
9
17
|
private validateSessionId;
|
|
@@ -14,6 +22,8 @@ export declare class SessionService {
|
|
|
14
22
|
getSession(sessionId: string): Promise<SessionDocument | null>;
|
|
15
23
|
getActiveSession(): Promise<SessionDocument | null>;
|
|
16
24
|
updateSession(options: UpdateSessionOptions): Promise<SessionOperationResult>;
|
|
25
|
+
private mergeSection;
|
|
26
|
+
private mergeArrays;
|
|
17
27
|
getRecommendedActAgent(sessionId: string): Promise<{
|
|
18
28
|
agent: string;
|
|
19
29
|
confidence: number;
|