codingbuddy 2.2.0 → 2.2.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.
Files changed (87) hide show
  1. package/README.md +62 -0
  2. package/dist/src/analyzer/analyzer.module.js +3 -2
  3. package/dist/src/analyzer/analyzer.module.js.map +1 -1
  4. package/dist/src/analyzer/config.analyzer.js +11 -3
  5. package/dist/src/analyzer/config.analyzer.js.map +1 -1
  6. package/dist/src/analyzer/conventions.analyzer.d.ts +20 -0
  7. package/dist/src/analyzer/conventions.analyzer.js +395 -0
  8. package/dist/src/analyzer/conventions.analyzer.js.map +1 -0
  9. package/dist/src/analyzer/conventions.schemas.d.ts +76 -0
  10. package/dist/src/analyzer/conventions.schemas.js +71 -0
  11. package/dist/src/analyzer/conventions.schemas.js.map +1 -0
  12. package/dist/src/analyzer/conventions.types.d.ts +81 -0
  13. package/dist/src/analyzer/conventions.types.js +33 -0
  14. package/dist/src/analyzer/conventions.types.js.map +1 -0
  15. package/dist/src/checklist/checklist.types.d.ts +1 -1
  16. package/dist/src/checklist/checklist.types.js +1 -0
  17. package/dist/src/checklist/checklist.types.js.map +1 -1
  18. package/dist/src/config/config.loader.d.ts +2 -0
  19. package/dist/src/config/config.loader.js +35 -4
  20. package/dist/src/config/config.loader.js.map +1 -1
  21. package/dist/src/keyword/auto-executor.d.ts +2 -2
  22. package/dist/src/keyword/auto-executor.js +15 -30
  23. package/dist/src/keyword/auto-executor.js.map +1 -1
  24. package/dist/src/keyword/auto-prompt-builder.d.ts +6 -0
  25. package/dist/src/keyword/auto-prompt-builder.js +47 -0
  26. package/dist/src/keyword/auto-prompt-builder.js.map +1 -0
  27. package/dist/src/keyword/keyword.module.js +11 -1
  28. package/dist/src/keyword/keyword.module.js.map +1 -1
  29. package/dist/src/keyword/keyword.service.d.ts +9 -2
  30. package/dist/src/keyword/keyword.service.js +94 -47
  31. package/dist/src/keyword/keyword.service.js.map +1 -1
  32. package/dist/src/keyword/keyword.types.d.ts +0 -3
  33. package/dist/src/keyword/keyword.types.js +1 -4
  34. package/dist/src/keyword/keyword.types.js.map +1 -1
  35. package/dist/src/keyword/primary-agent-resolver.js +4 -4
  36. package/dist/src/keyword/primary-agent-resolver.js.map +1 -1
  37. package/dist/src/main.js +12 -4
  38. package/dist/src/main.js.map +1 -1
  39. package/dist/src/mcp/handlers/abstract-handler.d.ts +8 -0
  40. package/dist/src/mcp/handlers/abstract-handler.js +19 -0
  41. package/dist/src/mcp/handlers/abstract-handler.js.map +1 -0
  42. package/dist/src/mcp/handlers/agent.handler.d.ts +6 -4
  43. package/dist/src/mcp/handlers/agent.handler.js +8 -15
  44. package/dist/src/mcp/handlers/agent.handler.js.map +1 -1
  45. package/dist/src/mcp/handlers/checklist-context.handler.d.ts +6 -4
  46. package/dist/src/mcp/handlers/checklist-context.handler.js +8 -12
  47. package/dist/src/mcp/handlers/checklist-context.handler.js.map +1 -1
  48. package/dist/src/mcp/handlers/config.handler.d.ts +6 -4
  49. package/dist/src/mcp/handlers/config.handler.js +12 -20
  50. package/dist/src/mcp/handlers/config.handler.js.map +1 -1
  51. package/dist/src/mcp/handlers/conventions.handler.d.ts +12 -0
  52. package/dist/src/mcp/handlers/conventions.handler.js +73 -0
  53. package/dist/src/mcp/handlers/conventions.handler.js.map +1 -0
  54. package/dist/src/mcp/handlers/index.d.ts +1 -0
  55. package/dist/src/mcp/handlers/index.js +3 -1
  56. package/dist/src/mcp/handlers/index.js.map +1 -1
  57. package/dist/src/mcp/handlers/mode.handler.d.ts +6 -5
  58. package/dist/src/mcp/handlers/mode.handler.js +6 -13
  59. package/dist/src/mcp/handlers/mode.handler.js.map +1 -1
  60. package/dist/src/mcp/handlers/rules.handler.d.ts +6 -4
  61. package/dist/src/mcp/handlers/rules.handler.js +8 -12
  62. package/dist/src/mcp/handlers/rules.handler.js.map +1 -1
  63. package/dist/src/mcp/handlers/skill.handler.d.ts +6 -4
  64. package/dist/src/mcp/handlers/skill.handler.js +8 -12
  65. package/dist/src/mcp/handlers/skill.handler.js.map +1 -1
  66. package/dist/src/mcp/mcp.module.js +1 -0
  67. package/dist/src/mcp/mcp.module.js.map +1 -1
  68. package/dist/src/mcp/mcp.service.d.ts +0 -1
  69. package/dist/src/mcp/mcp.service.js +2 -5
  70. package/dist/src/mcp/mcp.service.js.map +1 -1
  71. package/dist/src/shared/async.utils.d.ts +8 -0
  72. package/dist/src/shared/async.utils.js +18 -0
  73. package/dist/src/shared/async.utils.js.map +1 -0
  74. package/dist/src/shared/file.utils.d.ts +38 -2
  75. package/dist/src/shared/file.utils.js +104 -3
  76. package/dist/src/shared/file.utils.js.map +1 -1
  77. package/dist/src/shared/format.utils.d.ts +1 -0
  78. package/dist/src/shared/format.utils.js +19 -0
  79. package/dist/src/shared/format.utils.js.map +1 -0
  80. package/dist/src/shared/lru-cache.d.ts +21 -0
  81. package/dist/src/shared/lru-cache.js +70 -0
  82. package/dist/src/shared/lru-cache.js.map +1 -0
  83. package/dist/src/shared/validation.constants.d.ts +31 -0
  84. package/dist/src/shared/validation.constants.js +82 -8
  85. package/dist/src/shared/validation.constants.js.map +1 -1
  86. package/dist/tsconfig.build.tsbuildinfo +1 -1
  87. package/package.json +2 -2
@@ -11,32 +11,28 @@ var __metadata = (this && this.__metadata) || function (k, v) {
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.ChecklistContextHandler = void 0;
13
13
  const common_1 = require("@nestjs/common");
14
+ const abstract_handler_1 = require("./abstract-handler");
14
15
  const checklist_service_1 = require("../../checklist/checklist.service");
15
16
  const context_service_1 = require("../../context/context.service");
16
17
  const response_utils_1 = require("../response.utils");
17
- const security_utils_1 = require("../../shared/security.utils");
18
18
  const validation_constants_1 = require("../../shared/validation.constants");
19
- let ChecklistContextHandler = class ChecklistContextHandler {
19
+ let ChecklistContextHandler = class ChecklistContextHandler extends abstract_handler_1.AbstractHandler {
20
20
  constructor(checklistService, contextService) {
21
+ super();
21
22
  this.checklistService = checklistService;
22
23
  this.contextService = contextService;
23
- this.handledTools = ['generate_checklist', 'analyze_task'];
24
24
  }
25
- async handle(toolName, args) {
26
- if (!this.handledTools.includes(toolName)) {
27
- return null;
28
- }
29
- const validation = (0, security_utils_1.sanitizeHandlerArgs)(args);
30
- if (!validation.safe) {
31
- return (0, response_utils_1.createErrorResponse)(validation.error);
32
- }
25
+ getHandledTools() {
26
+ return ['generate_checklist', 'analyze_task'];
27
+ }
28
+ async handleTool(toolName, args) {
33
29
  switch (toolName) {
34
30
  case 'generate_checklist':
35
31
  return this.handleGenerateChecklist(args);
36
32
  case 'analyze_task':
37
33
  return this.handleAnalyzeTask(args);
38
34
  default:
39
- return null;
35
+ return (0, response_utils_1.createErrorResponse)(`Unknown tool: ${toolName}`);
40
36
  }
41
37
  }
42
38
  getToolDefinitions() {
@@ -1 +1 @@
1
- {"version":3,"file":"checklist-context.handler.js","sourceRoot":"","sources":["../../../../src/mcp/handlers/checklist-context.handler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"checklist-context.handler.js","sourceRoot":"","sources":["../../../../src/mcp/handlers/checklist-context.handler.ts"],"names":[],"mappings":"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"}
@@ -1,14 +1,16 @@
1
- import type { ToolHandler, ToolDefinition, ToolResult } from './base.handler';
1
+ import type { ToolDefinition } from './base.handler';
2
+ import type { ToolResponse } from '../response.utils';
3
+ import { AbstractHandler } from './abstract-handler';
2
4
  import { ConfigService } from '../../config/config.service';
3
5
  import { ConfigDiffService } from '../../config/config-diff.service';
4
6
  import { AnalyzerService } from '../../analyzer/analyzer.service';
5
- export declare class ConfigHandler implements ToolHandler {
7
+ export declare class ConfigHandler extends AbstractHandler {
6
8
  private readonly configService;
7
9
  private readonly configDiffService;
8
10
  private readonly analyzerService;
9
- private readonly handledTools;
10
11
  constructor(configService: ConfigService, configDiffService: ConfigDiffService, analyzerService: AnalyzerService);
11
- handle(toolName: string, args: Record<string, unknown> | undefined): Promise<ToolResult | null>;
12
+ protected getHandledTools(): string[];
13
+ protected handleTool(toolName: string, args: Record<string, unknown> | undefined): Promise<ToolResponse>;
12
14
  getToolDefinitions(): ToolDefinition[];
13
15
  private handleGetProjectConfig;
14
16
  private handleSuggestConfigUpdates;
@@ -11,38 +11,30 @@ var __metadata = (this && this.__metadata) || function (k, v) {
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.ConfigHandler = void 0;
13
13
  const common_1 = require("@nestjs/common");
14
+ const abstract_handler_1 = require("./abstract-handler");
14
15
  const config_service_1 = require("../../config/config.service");
15
16
  const config_diff_service_1 = require("../../config/config-diff.service");
16
17
  const analyzer_service_1 = require("../../analyzer/analyzer.service");
17
18
  const response_utils_1 = require("../response.utils");
18
- const security_utils_1 = require("../../shared/security.utils");
19
19
  const validation_constants_1 = require("../../shared/validation.constants");
20
- let ConfigHandler = class ConfigHandler {
20
+ let ConfigHandler = class ConfigHandler extends abstract_handler_1.AbstractHandler {
21
21
  constructor(configService, configDiffService, analyzerService) {
22
+ super();
22
23
  this.configService = configService;
23
24
  this.configDiffService = configDiffService;
24
25
  this.analyzerService = analyzerService;
25
- this.handledTools = [
26
- 'get_project_config',
27
- 'suggest_config_updates',
28
- ];
29
26
  }
30
- async handle(toolName, args) {
31
- if (!this.handledTools.includes(toolName)) {
32
- return null;
33
- }
34
- const validation = (0, security_utils_1.sanitizeHandlerArgs)(args);
35
- if (!validation.safe) {
36
- return (0, response_utils_1.createErrorResponse)(validation.error);
27
+ getHandledTools() {
28
+ return ['get_project_config', 'suggest_config_updates'];
29
+ }
30
+ async handleTool(toolName, args) {
31
+ if (toolName === 'get_project_config') {
32
+ return this.handleGetProjectConfig();
37
33
  }
38
- switch (toolName) {
39
- case 'get_project_config':
40
- return this.handleGetProjectConfig();
41
- case 'suggest_config_updates':
42
- return this.handleSuggestConfigUpdates(args);
43
- default:
44
- return null;
34
+ if (toolName === 'suggest_config_updates') {
35
+ return this.handleSuggestConfigUpdates(args);
45
36
  }
37
+ return (0, response_utils_1.createErrorResponse)(`Unknown tool: ${toolName}`);
46
38
  }
47
39
  getToolDefinitions() {
48
40
  return [
@@ -1 +1 @@
1
- {"version":3,"file":"config.handler.js","sourceRoot":"","sources":["../../../../src/mcp/handlers/config.handler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.handler.js","sourceRoot":"","sources":["../../../../src/mcp/handlers/config.handler.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import type { ToolDefinition } from './base.handler';
2
+ import type { ToolResponse } from '../response.utils';
3
+ import { AbstractHandler } from './abstract-handler';
4
+ import { ConventionsAnalyzer } from '../../analyzer/conventions.analyzer';
5
+ export declare class ConventionsHandler extends AbstractHandler {
6
+ private readonly conventionsAnalyzer;
7
+ constructor(conventionsAnalyzer: ConventionsAnalyzer);
8
+ protected getHandledTools(): string[];
9
+ protected handleTool(toolName: string, args: Record<string, unknown> | undefined): Promise<ToolResponse>;
10
+ getToolDefinitions(): ToolDefinition[];
11
+ private handleGetCodeConventions;
12
+ }
@@ -0,0 +1,73 @@
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
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.ConventionsHandler = void 0;
13
+ const common_1 = require("@nestjs/common");
14
+ const abstract_handler_1 = require("./abstract-handler");
15
+ const conventions_analyzer_1 = require("../../analyzer/conventions.analyzer");
16
+ const response_utils_1 = require("../response.utils");
17
+ const validation_constants_1 = require("../../shared/validation.constants");
18
+ const security_utils_1 = require("../../shared/security.utils");
19
+ let ConventionsHandler = class ConventionsHandler extends abstract_handler_1.AbstractHandler {
20
+ constructor(conventionsAnalyzer) {
21
+ super();
22
+ this.conventionsAnalyzer = conventionsAnalyzer;
23
+ }
24
+ getHandledTools() {
25
+ return ['get_code_conventions'];
26
+ }
27
+ async handleTool(toolName, args) {
28
+ switch (toolName) {
29
+ case 'get_code_conventions':
30
+ return this.handleGetCodeConventions(args);
31
+ default:
32
+ return (0, response_utils_1.createErrorResponse)(`Unknown tool: ${toolName}`);
33
+ }
34
+ }
35
+ getToolDefinitions() {
36
+ return [
37
+ {
38
+ name: 'get_code_conventions',
39
+ description: 'Get project configuration including tech stack, architecture, conventions, and language settings',
40
+ inputSchema: {
41
+ type: 'object',
42
+ properties: {
43
+ projectRoot: {
44
+ type: 'string',
45
+ description: 'Project root directory (defaults to current working directory)',
46
+ },
47
+ },
48
+ required: [],
49
+ },
50
+ },
51
+ ];
52
+ }
53
+ async handleGetCodeConventions(args) {
54
+ try {
55
+ const projectRootInput = (0, validation_constants_1.extractOptionalString)(args, 'projectRoot') ?? process.cwd();
56
+ const projectRoot = (0, security_utils_1.assertPathSafe)(projectRootInput, {
57
+ basePath: process.cwd(),
58
+ allowAbsolute: true,
59
+ });
60
+ const conventions = await this.conventionsAnalyzer.analyzeProjectConventions(projectRoot);
61
+ return (0, response_utils_1.createJsonResponse)(conventions);
62
+ }
63
+ catch (error) {
64
+ return (0, response_utils_1.createErrorResponse)(`Failed to analyze code conventions: ${error instanceof Error ? error.message : String(error)}`);
65
+ }
66
+ }
67
+ };
68
+ exports.ConventionsHandler = ConventionsHandler;
69
+ exports.ConventionsHandler = ConventionsHandler = __decorate([
70
+ (0, common_1.Injectable)(),
71
+ __metadata("design:paramtypes", [conventions_analyzer_1.ConventionsAnalyzer])
72
+ ], ConventionsHandler);
73
+ //# sourceMappingURL=conventions.handler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"conventions.handler.js","sourceRoot":"","sources":["../../../../src/mcp/handlers/conventions.handler.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAA4C;AAG5C,yDAAqD;AACrD,8EAA0E;AAC1E,sDAA4E;AAC5E,4EAA0E;AAC1E,gEAA6D;AAOtD,IAAM,kBAAkB,GAAxB,MAAM,kBAAmB,SAAQ,kCAAe;IACrD,YAA6B,mBAAwC;QACnE,KAAK,EAAE,CAAC;QADmB,wBAAmB,GAAnB,mBAAmB,CAAqB;IAErE,CAAC;IAES,eAAe;QACvB,OAAO,CAAC,sBAAsB,CAAC,CAAC;IAClC,CAAC;IAES,KAAK,CAAC,UAAU,CACxB,QAAgB,EAChB,IAAyC;QAEzC,QAAQ,QAAQ,EAAE,CAAC;YACjB,KAAK,sBAAsB;gBACzB,OAAO,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC;YAC7C;gBACE,OAAO,IAAA,oCAAmB,EAAC,iBAAiB,QAAQ,EAAE,CAAC,CAAC;QAC5D,CAAC;IACH,CAAC;IAED,kBAAkB;QAChB,OAAO;YACL;gBACE,IAAI,EAAE,sBAAsB;gBAC5B,WAAW,EACT,kGAAkG;gBACpG,WAAW,EAAE;oBACX,IAAI,EAAE,QAAQ;oBACd,UAAU,EAAE;wBACV,WAAW,EAAE;4BACX,IAAI,EAAE,QAAQ;4BACd,WAAW,EACT,gEAAgE;yBACnE;qBACF;oBACD,QAAQ,EAAE,EAAE;iBACb;aACF;SACF,CAAC;IACJ,CAAC;IAKO,KAAK,CAAC,wBAAwB,CACpC,IAAyC;QAEzC,IAAI,CAAC;YACH,MAAM,gBAAgB,GACpB,IAAA,4CAAqB,EAAC,IAAI,EAAE,aAAa,CAAC,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;YAG9D,MAAM,WAAW,GAAG,IAAA,+BAAc,EAAC,gBAAgB,EAAE;gBACnD,QAAQ,EAAE,OAAO,CAAC,GAAG,EAAE;gBACvB,aAAa,EAAE,IAAI;aACpB,CAAC,CAAC;YAEH,MAAM,WAAW,GACf,MAAM,IAAI,CAAC,mBAAmB,CAAC,yBAAyB,CAAC,WAAW,CAAC,CAAC;YAExE,OAAO,IAAA,mCAAkB,EAAC,WAAW,CAAC,CAAC;QACzC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,IAAA,oCAAmB,EACxB,uCAAuC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAChG,CAAC;QACJ,CAAC;IACH,CAAC;CACF,CAAA;AApEY,gDAAkB;6BAAlB,kBAAkB;IAD9B,IAAA,mBAAU,GAAE;qCAEuC,0CAAmB;GAD1D,kBAAkB,CAoE9B"}
@@ -5,4 +5,5 @@ export { SkillHandler } from './skill.handler';
5
5
  export { AgentHandler } from './agent.handler';
6
6
  export { ModeHandler } from './mode.handler';
7
7
  export { ChecklistContextHandler } from './checklist-context.handler';
8
+ export { ConventionsHandler } from './conventions.handler';
8
9
  export declare const TOOL_HANDLERS = "TOOL_HANDLERS";
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.TOOL_HANDLERS = exports.ChecklistContextHandler = exports.ModeHandler = exports.AgentHandler = exports.SkillHandler = exports.ConfigHandler = exports.RulesHandler = void 0;
3
+ exports.TOOL_HANDLERS = exports.ConventionsHandler = exports.ChecklistContextHandler = exports.ModeHandler = exports.AgentHandler = exports.SkillHandler = exports.ConfigHandler = exports.RulesHandler = void 0;
4
4
  var rules_handler_1 = require("./rules.handler");
5
5
  Object.defineProperty(exports, "RulesHandler", { enumerable: true, get: function () { return rules_handler_1.RulesHandler; } });
6
6
  var config_handler_1 = require("./config.handler");
@@ -13,5 +13,7 @@ var mode_handler_1 = require("./mode.handler");
13
13
  Object.defineProperty(exports, "ModeHandler", { enumerable: true, get: function () { return mode_handler_1.ModeHandler; } });
14
14
  var checklist_context_handler_1 = require("./checklist-context.handler");
15
15
  Object.defineProperty(exports, "ChecklistContextHandler", { enumerable: true, get: function () { return checklist_context_handler_1.ChecklistContextHandler; } });
16
+ var conventions_handler_1 = require("./conventions.handler");
17
+ Object.defineProperty(exports, "ConventionsHandler", { enumerable: true, get: function () { return conventions_handler_1.ConventionsHandler; } });
16
18
  exports.TOOL_HANDLERS = 'TOOL_HANDLERS';
17
19
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/mcp/handlers/index.ts"],"names":[],"mappings":";;;AAyCA,iDAA+C;AAAtC,6GAAA,YAAY,OAAA;AAMrB,mDAAiD;AAAxC,+GAAA,aAAa,OAAA;AAMtB,iDAA+C;AAAtC,6GAAA,YAAY,OAAA;AAMrB,iDAA+C;AAAtC,6GAAA,YAAY,OAAA;AAMrB,+CAA6C;AAApC,2GAAA,WAAW,OAAA;AAMpB,yEAAsE;AAA7D,oIAAA,uBAAuB,OAAA;AA0BnB,QAAA,aAAa,GAAG,eAAe,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/mcp/handlers/index.ts"],"names":[],"mappings":";;;AAyCA,iDAA+C;AAAtC,6GAAA,YAAY,OAAA;AAMrB,mDAAiD;AAAxC,+GAAA,aAAa,OAAA;AAMtB,iDAA+C;AAAtC,6GAAA,YAAY,OAAA;AAMrB,iDAA+C;AAAtC,6GAAA,YAAY,OAAA;AAMrB,+CAA6C;AAApC,2GAAA,WAAW,OAAA;AAMpB,yEAAsE;AAA7D,oIAAA,uBAAuB,OAAA;AAMhC,6DAA2D;AAAlD,yHAAA,kBAAkB,OAAA;AA0Bd,QAAA,aAAa,GAAG,eAAe,CAAC"}
@@ -1,16 +1,17 @@
1
- import type { ToolHandler, ToolDefinition, ToolResult } from './base.handler';
1
+ import type { ToolDefinition } from './base.handler';
2
+ import type { ToolResponse } from '../response.utils';
3
+ import { AbstractHandler } from './abstract-handler';
2
4
  import { KeywordService } from '../../keyword/keyword.service';
3
5
  import { ConfigService } from '../../config/config.service';
4
6
  import { LanguageService } from '../../shared/language.service';
5
7
  import { ModelResolverService } from '../../model';
6
- export declare class ModeHandler implements ToolHandler {
8
+ export declare class ModeHandler extends AbstractHandler {
7
9
  private readonly keywordService;
8
10
  private readonly configService;
9
11
  private readonly languageService;
10
12
  private readonly modelResolverService;
11
- private readonly handledTools;
12
13
  constructor(keywordService: KeywordService, configService: ConfigService, languageService: LanguageService, modelResolverService: ModelResolverService);
13
- handle(toolName: string, args: Record<string, unknown> | undefined): Promise<ToolResult | null>;
14
+ protected getHandledTools(): string[];
14
15
  getToolDefinitions(): ToolDefinition[];
15
- private handleParseMode;
16
+ protected handleTool(toolName: string, args: Record<string, unknown> | undefined): Promise<ToolResponse>;
16
17
  }
@@ -14,31 +14,24 @@ var __param = (this && this.__param) || function (paramIndex, decorator) {
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
15
  exports.ModeHandler = void 0;
16
16
  const common_1 = require("@nestjs/common");
17
+ const abstract_handler_1 = require("./abstract-handler");
17
18
  const keyword_service_1 = require("../../keyword/keyword.service");
18
19
  const keyword_module_1 = require("../../keyword/keyword.module");
19
20
  const config_service_1 = require("../../config/config.service");
20
21
  const language_service_1 = require("../../shared/language.service");
21
22
  const response_utils_1 = require("../response.utils");
22
23
  const model_1 = require("../../model");
23
- const security_utils_1 = require("../../shared/security.utils");
24
24
  const validation_constants_1 = require("../../shared/validation.constants");
25
- let ModeHandler = class ModeHandler {
25
+ let ModeHandler = class ModeHandler extends abstract_handler_1.AbstractHandler {
26
26
  constructor(keywordService, configService, languageService, modelResolverService) {
27
+ super();
27
28
  this.keywordService = keywordService;
28
29
  this.configService = configService;
29
30
  this.languageService = languageService;
30
31
  this.modelResolverService = modelResolverService;
31
- this.handledTools = ['parse_mode'];
32
32
  }
33
- async handle(toolName, args) {
34
- if (!this.handledTools.includes(toolName)) {
35
- return null;
36
- }
37
- const validation = (0, security_utils_1.sanitizeHandlerArgs)(args);
38
- if (!validation.safe) {
39
- return (0, response_utils_1.createErrorResponse)(validation.error);
40
- }
41
- return this.handleParseMode(args);
33
+ getHandledTools() {
34
+ return ['parse_mode'];
42
35
  }
43
36
  getToolDefinitions() {
44
37
  return [
@@ -62,7 +55,7 @@ let ModeHandler = class ModeHandler {
62
55
  },
63
56
  ];
64
57
  }
65
- async handleParseMode(args) {
58
+ async handleTool(toolName, args) {
66
59
  const prompt = (0, validation_constants_1.extractRequiredString)(args, 'prompt');
67
60
  if (prompt === null) {
68
61
  return (0, response_utils_1.createErrorResponse)('Missing required parameter: prompt');
@@ -1 +1 @@
1
- {"version":3,"file":"mode.handler.js","sourceRoot":"","sources":["../../../../src/mcp/handlers/mode.handler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mode.handler.js","sourceRoot":"","sources":["../../../../src/mcp/handlers/mode.handler.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAAoD;AAGpD,yDAAqD;AACrD,mEAA+D;AAC/D,iEAA+D;AAC/D,gEAA4D;AAC5D,oEAAgE;AAChE,sDAA4E;AAC5E,uCAAmD;AACnD,4EAA0E;AAOnE,IAAM,WAAW,GAAjB,MAAM,WAAY,SAAQ,kCAAe;IAC9C,YAC4C,cAA8B,EACvD,aAA4B,EAC5B,eAAgC,EAChC,oBAA0C;QAE3D,KAAK,EAAE,CAAC;QALkC,mBAAc,GAAd,cAAc,CAAgB;QACvD,kBAAa,GAAb,aAAa,CAAe;QAC5B,oBAAe,GAAf,eAAe,CAAiB;QAChC,yBAAoB,GAApB,oBAAoB,CAAsB;IAG7D,CAAC;IAES,eAAe;QACvB,OAAO,CAAC,YAAY,CAAC,CAAC;IACxB,CAAC;IAED,kBAAkB;QAChB,OAAO;YACL;gBACE,IAAI,EAAE,YAAY;gBAClB,WAAW,EACT,yZAAyZ;gBAC3Z,WAAW,EAAE;oBACX,IAAI,EAAE,QAAQ;oBACd,UAAU,EAAE;wBACV,MAAM,EAAE;4BACN,IAAI,EAAE,QAAQ;4BACd,WAAW,EACT,uDAAuD;yBAC1D;wBACD,iBAAiB,EAAE;4BACjB,IAAI,EAAE,QAAQ;4BACd,WAAW,EACT,qJAAqJ;yBACxJ;qBACF;oBACD,QAAQ,EAAE,CAAC,QAAQ,CAAC;iBACrB;aACF;SACF,CAAC;IACJ,CAAC;IAES,KAAK,CAAC,UAAU,CACxB,QAAgB,EAChB,IAAyC;QAEzC,MAAM,MAAM,GAAG,IAAA,4CAAqB,EAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QACrD,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;YACpB,OAAO,IAAA,oCAAmB,EAAC,oCAAoC,CAAC,CAAC;QACnE,CAAC;QAGD,MAAM,gBAAgB,GACpB,IAAA,4CAAqB,EAAC,IAAI,EAAE,mBAAmB,CAAC,IAAI,SAAS,CAAC;QAEhE,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,gBAAgB;gBAC9B,CAAC,CAAC,EAAE,mBAAmB,EAAE,gBAAgB,EAAE;gBAC3C,CAAC,CAAC,SAAS,CAAC;YACd,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;YACpE,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,CAAC;YACxD,MAAM,yBAAyB,GAC7B,IAAI,CAAC,eAAe,CAAC,sBAAsB,CAAC,QAAQ,IAAI,IAAI,CAAC,CAAC;YAChE,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,cAAc,CAClE,MAAM,CAAC,KAAK,CACb,CAAC;YAEF,OAAO,IAAA,mCAAkB,EAAC;gBACxB,GAAG,MAAM;gBACT,QAAQ;gBACR,mBAAmB,EAAE,yBAAyB,CAAC,WAAW;gBAC1D,aAAa;aACd,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,IAAA,oCAAmB,EACxB,yBAAyB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,EAAE,CACpF,CAAC;QACJ,CAAC;IACH,CAAC;CACF,CAAA;AA7EY,kCAAW;sBAAX,WAAW;IADvB,IAAA,mBAAU,GAAE;IAGR,WAAA,IAAA,eAAM,EAAC,gCAAe,CAAC,CAAA;qCAAkC,gCAAc;QACxC,8BAAa;QACX,kCAAe;QACV,4BAAoB;GALlD,WAAW,CA6EvB"}
@@ -1,10 +1,12 @@
1
- import type { ToolHandler, ToolDefinition, ToolResult } from './base.handler';
1
+ import type { ToolDefinition } from './base.handler';
2
+ import type { ToolResponse } from '../response.utils';
3
+ import { AbstractHandler } from './abstract-handler';
2
4
  import { RulesService } from '../../rules/rules.service';
3
- export declare class RulesHandler implements ToolHandler {
5
+ export declare class RulesHandler extends AbstractHandler {
4
6
  private readonly rulesService;
5
- private readonly handledTools;
6
7
  constructor(rulesService: RulesService);
7
- handle(toolName: string, args: Record<string, unknown> | undefined): Promise<ToolResult | null>;
8
+ protected getHandledTools(): string[];
9
+ protected handleTool(toolName: string, args: Record<string, unknown> | undefined): Promise<ToolResponse>;
8
10
  getToolDefinitions(): ToolDefinition[];
9
11
  private handleSearchRules;
10
12
  private handleGetAgentDetails;
@@ -11,31 +11,27 @@ var __metadata = (this && this.__metadata) || function (k, v) {
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.RulesHandler = void 0;
13
13
  const common_1 = require("@nestjs/common");
14
+ const abstract_handler_1 = require("./abstract-handler");
14
15
  const rules_service_1 = require("../../rules/rules.service");
15
16
  const response_utils_1 = require("../response.utils");
16
17
  const model_1 = require("../../model");
17
- const security_utils_1 = require("../../shared/security.utils");
18
18
  const validation_constants_1 = require("../../shared/validation.constants");
19
- let RulesHandler = class RulesHandler {
19
+ let RulesHandler = class RulesHandler extends abstract_handler_1.AbstractHandler {
20
20
  constructor(rulesService) {
21
+ super();
21
22
  this.rulesService = rulesService;
22
- this.handledTools = ['search_rules', 'get_agent_details'];
23
23
  }
24
- async handle(toolName, args) {
25
- if (!this.handledTools.includes(toolName)) {
26
- return null;
27
- }
28
- const validation = (0, security_utils_1.sanitizeHandlerArgs)(args);
29
- if (!validation.safe) {
30
- return (0, response_utils_1.createErrorResponse)(validation.error);
31
- }
24
+ getHandledTools() {
25
+ return ['search_rules', 'get_agent_details'];
26
+ }
27
+ async handleTool(toolName, args) {
32
28
  switch (toolName) {
33
29
  case 'search_rules':
34
30
  return this.handleSearchRules(args);
35
31
  case 'get_agent_details':
36
32
  return this.handleGetAgentDetails(args);
37
33
  default:
38
- return null;
34
+ return (0, response_utils_1.createErrorResponse)(`Unknown tool: ${toolName}`);
39
35
  }
40
36
  }
41
37
  getToolDefinitions() {
@@ -1 +1 @@
1
- {"version":3,"file":"rules.handler.js","sourceRoot":"","sources":["../../../../src/mcp/handlers/rules.handler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rules.handler.js","sourceRoot":"","sources":["../../../../src/mcp/handlers/rules.handler.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAA4C;AAG5C,yDAAqD;AACrD,6DAAyD;AACzD,sDAA4E;AAC5E,uCAA2C;AAE3C,4EAA0E;AAQnE,IAAM,YAAY,GAAlB,MAAM,YAAa,SAAQ,kCAAe;IAC/C,YAA6B,YAA0B;QACrD,KAAK,EAAE,CAAC;QADmB,iBAAY,GAAZ,YAAY,CAAc;IAEvD,CAAC;IAES,eAAe;QACvB,OAAO,CAAC,cAAc,EAAE,mBAAmB,CAAC,CAAC;IAC/C,CAAC;IAES,KAAK,CAAC,UAAU,CACxB,QAAgB,EAChB,IAAyC;QAEzC,QAAQ,QAAQ,EAAE,CAAC;YACjB,KAAK,cAAc;gBACjB,OAAO,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;YACtC,KAAK,mBAAmB;gBACtB,OAAO,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;YAC1C;gBACE,OAAO,IAAA,oCAAmB,EAAC,iBAAiB,QAAQ,EAAE,CAAC,CAAC;QAC5D,CAAC;IACH,CAAC;IAED,kBAAkB;QAChB,OAAO;YACL;gBACE,IAAI,EAAE,cAAc;gBACpB,WAAW,EAAE,iCAAiC;gBAC9C,WAAW,EAAE;oBACX,IAAI,EAAE,QAAQ;oBACd,UAAU,EAAE;wBACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,cAAc,EAAE;qBACvD;oBACD,QAAQ,EAAE,CAAC,OAAO,CAAC;iBACpB;aACF;YACD;gBACE,IAAI,EAAE,mBAAmB;gBACzB,WAAW,EAAE,6CAA6C;gBAC1D,WAAW,EAAE;oBACX,IAAI,EAAE,QAAQ;oBACd,UAAU,EAAE;wBACV,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,mBAAmB,EAAE;qBAChE;oBACD,QAAQ,EAAE,CAAC,WAAW,CAAC;iBACxB;aACF;SACF,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,iBAAiB,CAC7B,IAAyC;QAEzC,MAAM,KAAK,GAAG,IAAA,4CAAqB,EAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACnD,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;YACnB,OAAO,IAAA,oCAAmB,EAAC,mCAAmC,CAAC,CAAC;QAClE,CAAC;QACD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAC3D,OAAO,IAAA,mCAAkB,EAAC,OAAO,CAAC,CAAC;IACrC,CAAC;IAEO,KAAK,CAAC,qBAAqB,CACjC,IAAyC;QAEzC,MAAM,SAAS,GAAG,IAAA,4CAAqB,EAAC,IAAI,EAAE,WAAW,CAAC,CAAC;QAC3D,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;YACvB,OAAO,IAAA,oCAAmB,EAAC,uCAAuC,CAAC,CAAC;QACtE,CAAC;QACD,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;YAI1D,MAAM,UAAU,GAAG,KAAK,CAAC,KAAgC,CAAC;YAC1D,MAAM,aAAa,GAAG,IAAA,oBAAY,EAAC,EAAE,UAAU,EAAE,CAAC,CAAC;YAEnD,OAAO,IAAA,mCAAkB,EAAC;gBACxB,GAAG,KAAK;gBACR,aAAa;aACd,CAAC,CAAC;QACL,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAA,oCAAmB,EAAC,UAAU,SAAS,cAAc,CAAC,CAAC;QAChE,CAAC;IACH,CAAC;CACF,CAAA;AApFY,oCAAY;uBAAZ,YAAY;IADxB,IAAA,mBAAU,GAAE;qCAEgC,4BAAY;GAD5C,YAAY,CAoFxB"}
@@ -1,10 +1,12 @@
1
- import type { ToolHandler, ToolDefinition, ToolResult } from './base.handler';
1
+ import type { ToolDefinition } from './base.handler';
2
+ import type { ToolResponse } from '../response.utils';
3
+ import { AbstractHandler } from './abstract-handler';
2
4
  import { SkillRecommendationService } from '../../skill/skill-recommendation.service';
3
- export declare class SkillHandler implements ToolHandler {
5
+ export declare class SkillHandler extends AbstractHandler {
4
6
  private readonly skillRecommendationService;
5
- private readonly handledTools;
6
7
  constructor(skillRecommendationService: SkillRecommendationService);
7
- handle(toolName: string, args: Record<string, unknown> | undefined): Promise<ToolResult | null>;
8
+ protected getHandledTools(): string[];
9
+ protected handleTool(toolName: string, args: Record<string, unknown> | undefined): Promise<ToolResponse>;
8
10
  getToolDefinitions(): ToolDefinition[];
9
11
  private handleRecommendSkills;
10
12
  private handleListSkills;
@@ -11,30 +11,26 @@ var __metadata = (this && this.__metadata) || function (k, v) {
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.SkillHandler = void 0;
13
13
  const common_1 = require("@nestjs/common");
14
+ const abstract_handler_1 = require("./abstract-handler");
14
15
  const skill_recommendation_service_1 = require("../../skill/skill-recommendation.service");
15
16
  const response_utils_1 = require("../response.utils");
16
- const security_utils_1 = require("../../shared/security.utils");
17
17
  const validation_constants_1 = require("../../shared/validation.constants");
18
- let SkillHandler = class SkillHandler {
18
+ let SkillHandler = class SkillHandler extends abstract_handler_1.AbstractHandler {
19
19
  constructor(skillRecommendationService) {
20
+ super();
20
21
  this.skillRecommendationService = skillRecommendationService;
21
- this.handledTools = ['recommend_skills', 'list_skills'];
22
22
  }
23
- async handle(toolName, args) {
24
- if (!this.handledTools.includes(toolName)) {
25
- return null;
26
- }
27
- const validation = (0, security_utils_1.sanitizeHandlerArgs)(args);
28
- if (!validation.safe) {
29
- return (0, response_utils_1.createErrorResponse)(validation.error);
30
- }
23
+ getHandledTools() {
24
+ return ['recommend_skills', 'list_skills'];
25
+ }
26
+ async handleTool(toolName, args) {
31
27
  switch (toolName) {
32
28
  case 'recommend_skills':
33
29
  return this.handleRecommendSkills(args);
34
30
  case 'list_skills':
35
31
  return this.handleListSkills(args);
36
32
  default:
37
- return null;
33
+ return (0, response_utils_1.createErrorResponse)(`Unknown tool: ${toolName}`);
38
34
  }
39
35
  }
40
36
  getToolDefinitions() {
@@ -1 +1 @@
1
- {"version":3,"file":"skill.handler.js","sourceRoot":"","sources":["../../../../src/mcp/handlers/skill.handler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"skill.handler.js","sourceRoot":"","sources":["../../../../src/mcp/handlers/skill.handler.ts"],"names":[],"mappings":"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"}
@@ -28,6 +28,7 @@ const handlers = [
28
28
  handlers_1.AgentHandler,
29
29
  handlers_1.ModeHandler,
30
30
  handlers_1.ChecklistContextHandler,
31
+ handlers_1.ConventionsHandler,
31
32
  ];
32
33
  let McpModule = class McpModule {
33
34
  };
@@ -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,wFAAmF;AACnF,iEAA6D;AAC7D,oCAAgD;AAGhD,yCAQoB;AAEpB,MAAM,QAAQ,GAAG;IACf,uBAAY;IACZ,wBAAa;IACb,uBAAY;IACZ,uBAAY;IACZ,sBAAW;IACX,kCAAuB;CACxB,CAAC;AA6BK,IAAM,SAAS,GAAf,MAAM,SAAS;CAAG,CAAA;AAAZ,8BAAS;oBAAT,SAAS;IA3BrB,IAAA,eAAM,EAAC;QACN,OAAO,EAAE;YACP,0BAAW;YACX,8BAAa;YACb,uCAAuB;YACvB,gCAAc;YACd,0BAAW;YACX,kCAAe;YACf,8BAAa;SACd;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"}
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,wFAAmF;AACnF,iEAA6D;AAC7D,oCAAgD;AAGhD,yCASoB;AAEpB,MAAM,QAAQ,GAAG;IACf,uBAAY;IACZ,wBAAa;IACb,uBAAY;IACZ,uBAAY;IACZ,sBAAW;IACX,kCAAuB;IACvB,6BAAkB;CACnB,CAAC;AA6BK,IAAM,SAAS,GAAf,MAAM,SAAS;CAAG,CAAA;AAAZ,8BAAS;oBAAT,SAAS;IA3BrB,IAAA,eAAM,EAAC;QACN,OAAO,EAAE;YACP,0BAAW;YACX,8BAAa;YACb,uCAAuB;YACvB,gCAAc;YACd,0BAAW;YACX,kCAAe;YACf,8BAAa;SACd;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"}
@@ -8,7 +8,6 @@ export declare class McpService implements OnModuleInit {
8
8
  private configService;
9
9
  private toolHandlers;
10
10
  private server;
11
- private readonly logger;
12
11
  constructor(rulesService: RulesService, configService: ConfigService, toolHandlers: ToolHandler[]);
13
12
  onModuleInit(): void;
14
13
  startStdio(): Promise<void>;
@@ -11,7 +11,6 @@ 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 McpService_1;
15
14
  Object.defineProperty(exports, "__esModule", { value: true });
16
15
  exports.McpService = void 0;
17
16
  const common_1 = require("@nestjs/common");
@@ -21,12 +20,11 @@ const types_js_1 = require("@modelcontextprotocol/sdk/types.js");
21
20
  const rules_service_1 = require("../rules/rules.service");
22
21
  const config_service_1 = require("../config/config.service");
23
22
  const handlers_1 = require("./handlers");
24
- let McpService = McpService_1 = class McpService {
23
+ let McpService = class McpService {
25
24
  constructor(rulesService, configService, toolHandlers) {
26
25
  this.rulesService = rulesService;
27
26
  this.configService = configService;
28
27
  this.toolHandlers = toolHandlers;
29
- this.logger = new common_1.Logger(McpService_1.name);
30
28
  this.server = new index_js_1.Server({
31
29
  name: 'codingbuddy-rules-server',
32
30
  version: '1.0.0',
@@ -46,7 +44,6 @@ let McpService = McpService_1 = class McpService {
46
44
  async startStdio() {
47
45
  const transport = new stdio_js_1.StdioServerTransport();
48
46
  await this.server.connect(transport);
49
- this.logger.log('MCP Server connected via Stdio');
50
47
  }
51
48
  getServer() {
52
49
  return this.server;
@@ -229,7 +226,7 @@ let McpService = McpService_1 = class McpService {
229
226
  }
230
227
  };
231
228
  exports.McpService = McpService;
232
- exports.McpService = McpService = McpService_1 = __decorate([
229
+ exports.McpService = McpService = __decorate([
233
230
  (0, common_1.Injectable)(),
234
231
  __param(2, (0, common_1.Inject)(handlers_1.TOOL_HANDLERS)),
235
232
  __metadata("design:paramtypes", [rules_service_1.RulesService,
@@ -1 +1 @@
1
- {"version":3,"file":"mcp.service.js","sourceRoot":"","sources":["../../../src/mcp/mcp.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mcp.service.js","sourceRoot":"","sources":["../../../src/mcp/mcp.service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import { Logger } from '@nestjs/common';
2
+ export interface AsyncWithFallbackOptions<T> {
3
+ fn: () => Promise<T>;
4
+ fallback: T;
5
+ errorMessage: string;
6
+ logger?: Logger;
7
+ }
8
+ export declare function asyncWithFallback<T>(options: AsyncWithFallbackOptions<T>): Promise<T>;