codingbuddy 3.1.0 → 3.1.2

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 (144) hide show
  1. package/dist/src/agent/agent-summary.utils.d.ts +15 -0
  2. package/dist/src/agent/agent-summary.utils.js +26 -0
  3. package/dist/src/agent/agent-summary.utils.js.map +1 -0
  4. package/dist/src/agent/agent.service.d.ts +2 -1
  5. package/dist/src/agent/agent.service.js +27 -8
  6. package/dist/src/agent/agent.service.js.map +1 -1
  7. package/dist/src/agent/agent.types.d.ts +6 -1
  8. package/dist/src/agent/agent.types.js.map +1 -1
  9. package/dist/src/cli/cli.js +4 -9
  10. package/dist/src/cli/cli.js.map +1 -1
  11. package/dist/src/cli/cli.types.d.ts +0 -1
  12. package/dist/src/cli/init/config.writer.d.ts +2 -5
  13. package/dist/src/cli/init/config.writer.js +5 -16
  14. package/dist/src/cli/init/config.writer.js.map +1 -1
  15. package/dist/src/cli/init/index.d.ts +1 -1
  16. package/dist/src/cli/init/init.command.js +4 -9
  17. package/dist/src/cli/init/init.command.js.map +1 -1
  18. package/dist/src/cli/init/init.constants.js +0 -1
  19. package/dist/src/cli/init/init.constants.js.map +1 -1
  20. package/dist/src/cli/init/templates/config-renderer.d.ts +0 -2
  21. package/dist/src/cli/init/templates/config-renderer.js +0 -156
  22. package/dist/src/cli/init/templates/config-renderer.js.map +1 -1
  23. package/dist/src/cli/init/templates/index.d.ts +2 -2
  24. package/dist/src/cli/init/templates/index.js +1 -4
  25. package/dist/src/cli/init/templates/index.js.map +1 -1
  26. package/dist/src/cli/init/templates/template.renderer.d.ts +0 -1
  27. package/dist/src/cli/init/templates/template.renderer.js +0 -159
  28. package/dist/src/cli/init/templates/template.renderer.js.map +1 -1
  29. package/dist/src/config/config-diff.service.js +1 -1
  30. package/dist/src/config/config-diff.service.js.map +1 -1
  31. package/dist/src/config/config.loader.d.ts +7 -4
  32. package/dist/src/config/config.loader.js +52 -35
  33. package/dist/src/config/config.loader.js.map +1 -1
  34. package/dist/src/config/config.schema.d.ts +2 -0
  35. package/dist/src/config/config.schema.js +1 -0
  36. package/dist/src/config/config.schema.js.map +1 -1
  37. package/dist/src/config/config.service.js +5 -0
  38. package/dist/src/config/config.service.js.map +1 -1
  39. package/dist/src/context/context-document.service.d.ts +10 -2
  40. package/dist/src/context/context-document.service.js +92 -3
  41. package/dist/src/context/context-document.service.js.map +1 -1
  42. package/dist/src/context/context-document.types.d.ts +20 -0
  43. package/dist/src/context/context-document.types.js +5 -1
  44. package/dist/src/context/context-document.types.js.map +1 -1
  45. package/dist/src/context/context-serializer.utils.d.ts +7 -0
  46. package/dist/src/context/context-serializer.utils.js +47 -0
  47. package/dist/src/context/context-serializer.utils.js.map +1 -1
  48. package/dist/src/context/context.types.d.ts +1 -1
  49. package/dist/src/keyword/keyword.module.js +77 -4
  50. package/dist/src/keyword/keyword.module.js.map +1 -1
  51. package/dist/src/keyword/keyword.service.d.ts +42 -4
  52. package/dist/src/keyword/keyword.service.js +145 -29
  53. package/dist/src/keyword/keyword.service.js.map +1 -1
  54. package/dist/src/keyword/keyword.types.d.ts +16 -0
  55. package/dist/src/keyword/keyword.types.js +2 -1
  56. package/dist/src/keyword/keyword.types.js.map +1 -1
  57. package/dist/src/keyword/primary-agent-resolver.js.map +1 -1
  58. package/dist/src/mcp/handlers/agent.handler.js +14 -8
  59. package/dist/src/mcp/handlers/agent.handler.js.map +1 -1
  60. package/dist/src/mcp/handlers/checklist-context.handler.js +11 -2
  61. package/dist/src/mcp/handlers/checklist-context.handler.js.map +1 -1
  62. package/dist/src/mcp/handlers/context-document.handler.d.ts +1 -0
  63. package/dist/src/mcp/handlers/context-document.handler.js +64 -6
  64. package/dist/src/mcp/handlers/context-document.handler.js.map +1 -1
  65. package/dist/src/mcp/handlers/index.d.ts +0 -1
  66. package/dist/src/mcp/handlers/index.js +1 -3
  67. package/dist/src/mcp/handlers/index.js.map +1 -1
  68. package/dist/src/mcp/handlers/mode.handler.d.ts +2 -13
  69. package/dist/src/mcp/handlers/mode.handler.js +27 -158
  70. package/dist/src/mcp/handlers/mode.handler.js.map +1 -1
  71. package/dist/src/mcp/handlers/rules.handler.d.ts +3 -1
  72. package/dist/src/mcp/handlers/rules.handler.js +5 -4
  73. package/dist/src/mcp/handlers/rules.handler.js.map +1 -1
  74. package/dist/src/mcp/handlers/skill.handler.d.ts +4 -1
  75. package/dist/src/mcp/handlers/skill.handler.js +37 -3
  76. package/dist/src/mcp/handlers/skill.handler.js.map +1 -1
  77. package/dist/src/mcp/mcp.module.js +0 -3
  78. package/dist/src/mcp/mcp.module.js.map +1 -1
  79. package/dist/src/model/model-resolver.service.d.ts +3 -7
  80. package/dist/src/model/model-resolver.service.js +4 -25
  81. package/dist/src/model/model-resolver.service.js.map +1 -1
  82. package/dist/src/model/model.resolver.js +14 -28
  83. package/dist/src/model/model.resolver.js.map +1 -1
  84. package/dist/src/model/model.types.d.ts +1 -3
  85. package/dist/src/model/model.types.js.map +1 -1
  86. package/dist/src/rules/rules-content.utils.d.ts +3 -0
  87. package/dist/src/rules/rules-content.utils.js +40 -0
  88. package/dist/src/rules/rules-content.utils.js.map +1 -0
  89. package/dist/src/rules/rules.service.d.ts +6 -0
  90. package/dist/src/rules/rules.service.js +50 -0
  91. package/dist/src/rules/rules.service.js.map +1 -1
  92. package/dist/src/shared/slug.utils.d.ts +1 -1
  93. package/dist/src/shared/slug.utils.js +2 -2
  94. package/dist/src/shared/token-counter.d.ts +13 -0
  95. package/dist/src/shared/token-counter.js +41 -0
  96. package/dist/src/shared/token-counter.js.map +1 -0
  97. package/dist/src/shared/validation.constants.d.ts +2 -1
  98. package/dist/src/shared/validation.constants.js +3 -2
  99. package/dist/src/shared/validation.constants.js.map +1 -1
  100. package/dist/src/shared/verbosity.types.d.ts +13 -0
  101. package/dist/src/shared/verbosity.types.js +44 -0
  102. package/dist/src/shared/verbosity.types.js.map +1 -0
  103. package/dist/src/skill/index.d.ts +1 -0
  104. package/dist/src/skill/index.js +3 -1
  105. package/dist/src/skill/index.js.map +1 -1
  106. package/dist/src/skill/skill-content.utils.d.ts +4 -0
  107. package/dist/src/skill/skill-content.utils.js +22 -0
  108. package/dist/src/skill/skill-content.utils.js.map +1 -0
  109. package/dist/src/skill/skill.module.d.ts +2 -0
  110. package/dist/src/{session/session.module.js → skill/skill.module.js} +9 -11
  111. package/dist/src/skill/skill.module.js.map +1 -0
  112. package/dist/src/state/state.service.d.ts +0 -2
  113. package/dist/src/state/state.service.js +0 -31
  114. package/dist/src/state/state.service.js.map +1 -1
  115. package/dist/src/state/state.types.d.ts +0 -1
  116. package/dist/src/state/state.types.js.map +1 -1
  117. package/dist/tsconfig.build.tsbuildinfo +1 -1
  118. package/package.json +29 -29
  119. package/dist/src/mcp/handlers/session.handler.d.ts +0 -15
  120. package/dist/src/mcp/handlers/session.handler.js +0 -238
  121. package/dist/src/mcp/handlers/session.handler.js.map +0 -1
  122. package/dist/src/session/__tests__/session-test.utils.d.ts +0 -5
  123. package/dist/src/session/__tests__/session-test.utils.js +0 -59
  124. package/dist/src/session/__tests__/session-test.utils.js.map +0 -1
  125. package/dist/src/session/index.d.ts +0 -3
  126. package/dist/src/session/index.js +0 -8
  127. package/dist/src/session/index.js.map +0 -1
  128. package/dist/src/session/session.cache.d.ts +0 -19
  129. package/dist/src/session/session.cache.js +0 -83
  130. package/dist/src/session/session.cache.js.map +0 -1
  131. package/dist/src/session/session.module.d.ts +0 -2
  132. package/dist/src/session/session.module.js.map +0 -1
  133. package/dist/src/session/session.parser.d.ts +0 -22
  134. package/dist/src/session/session.parser.js +0 -273
  135. package/dist/src/session/session.parser.js.map +0 -1
  136. package/dist/src/session/session.serializer.d.ts +0 -6
  137. package/dist/src/session/session.serializer.js +0 -84
  138. package/dist/src/session/session.serializer.js.map +0 -1
  139. package/dist/src/session/session.service.d.ts +0 -24
  140. package/dist/src/session/session.service.js +0 -309
  141. package/dist/src/session/session.service.js.map +0 -1
  142. package/dist/src/session/session.types.d.ts +0 -52
  143. package/dist/src/session/session.types.js +0 -3
  144. package/dist/src/session/session.types.js.map +0 -1
@@ -41,7 +41,8 @@ let ContextDocumentService = ContextDocumentService_1 = class ContextDocumentSer
41
41
  try {
42
42
  return await this.configService.getContextLimits();
43
43
  }
44
- catch {
44
+ catch (error) {
45
+ this.logger.debug(`Failed to load context limits: ${error instanceof Error ? error.message : 'Unknown error'}`);
45
46
  return context_document_types_1.DEFAULT_CONTEXT_LIMITS;
46
47
  }
47
48
  }
@@ -57,7 +58,7 @@ let ContextDocumentService = ContextDocumentService_1 = class ContextDocumentSer
57
58
  const contextPath = this.getContextPath();
58
59
  return (0, fs_1.existsSync)(contextPath);
59
60
  }
60
- async readContext() {
61
+ async readContext(options) {
61
62
  try {
62
63
  const contextPath = this.getContextPath();
63
64
  if (!(0, fs_1.existsSync)(contextPath)) {
@@ -68,10 +69,23 @@ let ContextDocumentService = ContextDocumentService_1 = class ContextDocumentSer
68
69
  timeoutMs: context_document_types_1.CONTEXT_FILE_TIMEOUT_MS,
69
70
  operationName: 'read context file',
70
71
  });
71
- const document = (0, context_parser_utils_1.parseContextDocument)(content);
72
+ let document = (0, context_parser_utils_1.parseContextDocument)(content);
73
+ let truncatedSections = 0;
74
+ if (options?.maxSections && options.maxSections > 0) {
75
+ const totalSections = document.sections.length;
76
+ if (totalSections > options.maxSections) {
77
+ document = {
78
+ ...document,
79
+ sections: document.sections.slice(-options.maxSections),
80
+ };
81
+ truncatedSections = totalSections - options.maxSections;
82
+ this.logger.debug(`Truncated ${truncatedSections} sections (keeping ${options.maxSections} most recent)`);
83
+ }
84
+ }
72
85
  return {
73
86
  exists: true,
74
87
  document,
88
+ truncatedSections: truncatedSections > 0 ? truncatedSections : undefined,
75
89
  };
76
90
  }
77
91
  catch (error) {
@@ -155,6 +169,7 @@ let ContextDocumentService = ContextDocumentService_1 = class ContextDocumentSer
155
169
  operationName: 'write context file',
156
170
  });
157
171
  this.logger.log(`Appended ${data.mode} section to context document`);
172
+ await this.autoCleanupIfNeeded();
158
173
  return {
159
174
  success: true,
160
175
  filePath: contextPath,
@@ -203,6 +218,80 @@ let ContextDocumentService = ContextDocumentService_1 = class ContextDocumentSer
203
218
  getContextFilePath() {
204
219
  return context_document_types_1.CONTEXT_FILE_PATH;
205
220
  }
221
+ async shouldCleanup() {
222
+ const readResult = await this.readContext();
223
+ if (!readResult.exists || !readResult.document) {
224
+ return {
225
+ needed: false,
226
+ currentSize: 0,
227
+ threshold: context_document_types_1.CONTEXT_SIZE_THRESHOLDS.CLEANUP,
228
+ level: 'none',
229
+ };
230
+ }
231
+ const currentSize = (0, context_serializer_utils_1.estimateDocumentSize)(readResult.document);
232
+ if (currentSize >= context_document_types_1.CONTEXT_SIZE_THRESHOLDS.CLEANUP) {
233
+ return {
234
+ needed: true,
235
+ currentSize,
236
+ threshold: context_document_types_1.CONTEXT_SIZE_THRESHOLDS.CLEANUP,
237
+ level: 'cleanup',
238
+ };
239
+ }
240
+ if (currentSize >= context_document_types_1.CONTEXT_SIZE_THRESHOLDS.WARN) {
241
+ return {
242
+ needed: false,
243
+ currentSize,
244
+ threshold: context_document_types_1.CONTEXT_SIZE_THRESHOLDS.WARN,
245
+ level: 'warn',
246
+ };
247
+ }
248
+ return {
249
+ needed: false,
250
+ currentSize,
251
+ threshold: context_document_types_1.CONTEXT_SIZE_THRESHOLDS.CLEANUP,
252
+ level: 'none',
253
+ };
254
+ }
255
+ async performCleanup(keepRecentSectionsFull = 2, keepRecentItems = 5) {
256
+ try {
257
+ const readResult = await this.readContext();
258
+ if (!readResult.exists || !readResult.document) {
259
+ return {
260
+ success: false,
261
+ error: 'No context document found to cleanup',
262
+ };
263
+ }
264
+ const { document: cleanedDocument, originalSize, newSize, } = (0, context_serializer_utils_1.cleanupContextDocument)(readResult.document, keepRecentSectionsFull, keepRecentItems);
265
+ const contextPath = this.getContextPath();
266
+ const content = (0, context_serializer_utils_1.serializeContextDocument)(cleanedDocument);
267
+ await (0, async_utils_1.withTimeout)(fs.writeFile(contextPath, content, 'utf-8'), {
268
+ timeoutMs: context_document_types_1.CONTEXT_FILE_TIMEOUT_MS,
269
+ operationName: 'write context file',
270
+ });
271
+ const reduction = originalSize - newSize;
272
+ const reductionPercent = ((reduction / originalSize) * 100).toFixed(1);
273
+ this.logger.log(`Cleaned up context document: ${originalSize} → ${newSize} chars (${reductionPercent}% reduction)`);
274
+ return {
275
+ success: true,
276
+ filePath: contextPath,
277
+ message: `Context cleaned up successfully. Size reduced by ${reductionPercent}% (${reduction} chars)`,
278
+ document: cleanedDocument,
279
+ };
280
+ }
281
+ catch (error) {
282
+ return this.handleContextError(error, 'cleanup context');
283
+ }
284
+ }
285
+ async autoCleanupIfNeeded() {
286
+ const check = await this.shouldCleanup();
287
+ if (check.level === 'warn') {
288
+ this.logger.warn(`Context document size approaching limit: ${check.currentSize} chars (threshold: ${check.threshold})`);
289
+ }
290
+ if (check.needed) {
291
+ this.logger.log('Context document size exceeded threshold, performing automatic cleanup...');
292
+ await this.performCleanup();
293
+ }
294
+ }
206
295
  };
207
296
  exports.ContextDocumentService = ContextDocumentService;
208
297
  exports.ContextDocumentService = ContextDocumentService = ContextDocumentService_1 = __decorate([
@@ -1 +1 @@
1
- {"version":3,"file":"context-document.service.js","sourceRoot":"","sources":["../../../src/context/context-document.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"context-document.service.js","sourceRoot":"","sources":["../../../src/context/context-document.service.ts"],"names":[],"mappings":"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"}
@@ -23,6 +23,14 @@ export interface ContextSection {
23
23
  findings?: string[];
24
24
  recommendations?: string[];
25
25
  status?: 'in_progress' | 'completed' | 'blocked';
26
+ summarized?: boolean;
27
+ originalCounts?: {
28
+ decisions?: number;
29
+ notes?: number;
30
+ progress?: number;
31
+ findings?: number;
32
+ recommendations?: number;
33
+ };
26
34
  }
27
35
  export interface ContextDocument {
28
36
  metadata: ContextMetadata;
@@ -55,10 +63,14 @@ export interface ContextOperationResult {
55
63
  error?: string;
56
64
  document?: ContextDocument;
57
65
  }
66
+ export interface ContextReadOptions {
67
+ maxSections?: number;
68
+ }
58
69
  export interface ContextReadResult {
59
70
  exists: boolean;
60
71
  document?: ContextDocument;
61
72
  error?: string;
73
+ truncatedSections?: number;
62
74
  }
63
75
  export declare const CONTEXT_MARKDOWN: {
64
76
  readonly CONTEXT_HEADER: "# Context:";
@@ -87,3 +99,11 @@ export interface ContextLimits {
87
99
  }
88
100
  export declare const DEFAULT_CONTEXT_LIMITS: ContextLimits;
89
101
  export declare function truncateArray(items: string[] | undefined, limits?: ContextLimits): string[] | undefined;
102
+ export declare const CONTEXT_SIZE_THRESHOLDS: {
103
+ readonly WARN: 50000;
104
+ readonly CLEANUP: 100000;
105
+ };
106
+ export interface ContextCleanupConfig {
107
+ keepRecentItems: number;
108
+ keepRecentSectionsFull: number;
109
+ }
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.DEFAULT_CONTEXT_LIMITS = exports.VALID_SECTION_STATUSES = exports.VALID_CONTEXT_STATUSES = exports.CONTEXT_SECTION_HEADER_PATTERN = exports.CONTEXT_MARKDOWN = exports.MAX_CONTEXT_ITEM_LENGTH = exports.MAX_CONTEXT_ARRAY_ITEMS = exports.CONTEXT_FILE_TIMEOUT_MS = exports.CONTEXT_FILE_PATH = void 0;
3
+ exports.CONTEXT_SIZE_THRESHOLDS = exports.DEFAULT_CONTEXT_LIMITS = exports.VALID_SECTION_STATUSES = exports.VALID_CONTEXT_STATUSES = exports.CONTEXT_SECTION_HEADER_PATTERN = exports.CONTEXT_MARKDOWN = exports.MAX_CONTEXT_ITEM_LENGTH = exports.MAX_CONTEXT_ARRAY_ITEMS = exports.CONTEXT_FILE_TIMEOUT_MS = exports.CONTEXT_FILE_PATH = void 0;
4
4
  exports.isValidContextStatus = isValidContextStatus;
5
5
  exports.isValidSectionStatus = isValidSectionStatus;
6
6
  exports.truncateArray = truncateArray;
@@ -50,4 +50,8 @@ function truncateArray(items, limits = exports.DEFAULT_CONTEXT_LIMITS) {
50
50
  ? item.substring(0, limits.maxItemLength)
51
51
  : item);
52
52
  }
53
+ exports.CONTEXT_SIZE_THRESHOLDS = {
54
+ WARN: 50_000,
55
+ CLEANUP: 100_000,
56
+ };
53
57
  //# sourceMappingURL=context-document.types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"context-document.types.js","sourceRoot":"","sources":["../../../src/context/context-document.types.ts"],"names":[],"mappings":";;;AAmMA,oDAIC;AAKD,oDAMC;AA4BD,sCAYC;AApPY,QAAA,iBAAiB,GAAG,6BAA6B,CAAC;AAKlD,QAAA,uBAAuB,GAAG,IAAI,CAAC;AAM/B,QAAA,uBAAuB,GAAG,GAAG,CAAC;AAM9B,QAAA,uBAAuB,GAAG,IAAI,CAAC;AAwI/B,QAAA,gBAAgB,GAAG;IAC9B,cAAc,EAAE,YAAY;IAC5B,cAAc,EAAE,cAAc;IAC9B,cAAc,EAAE,cAAc;IAC9B,WAAW,EAAE,mBAAmB;IAChC,aAAa,EAAE,aAAa;IAC5B,iBAAiB,EAAE,KAAK;IACxB,WAAW,EAAE,UAAU;IACvB,gBAAgB,EAAE,eAAe;IACjC,YAAY,EAAE,WAAW;IACzB,eAAe,EAAE,cAAc;IAC/B,eAAe,EAAE,cAAc;IAC/B,sBAAsB,EAAE,qBAAqB;IAC7C,oBAAoB,EAAE,oBAAoB;IAC1C,4BAA4B,EAAE,4BAA4B;CAClD,CAAC;AAKE,QAAA,8BAA8B,GACzC,oCAAoC,CAAC;AAK1B,QAAA,sBAAsB,GAAG,CAAC,QAAQ,EAAE,WAAW,CAAU,CAAC;AAC1D,QAAA,sBAAsB,GAAG;IACpC,aAAa;IACb,WAAW;IACX,SAAS;CACD,CAAC;AAKX,SAAgB,oBAAoB,CAClC,KAAa;IAEb,OAAO,8BAAsB,CAAC,QAAQ,CAAC,KAAkC,CAAC,CAAC;AAC7E,CAAC;AAKD,SAAgB,oBAAoB,CAClC,KAAa;IAEb,OAAO,8BAAsB,CAAC,QAAQ,CACpC,KAA8C,CAC/C,CAAC;AACJ,CAAC;AAeY,QAAA,sBAAsB,GAAkB;IACnD,aAAa,EAAE,+BAAuB;IACtC,aAAa,EAAE,+BAAuB;CACvC,CAAC;AAUF,SAAgB,aAAa,CAC3B,KAA2B,EAC3B,SAAwB,8BAAsB;IAE9C,IAAI,CAAC,KAAK;QAAE,OAAO,SAAS,CAAC;IAC7B,OAAO,KAAK;SACT,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,aAAa,CAAC;SAC9B,GAAG,CAAC,IAAI,CAAC,EAAE,CACV,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,aAAa;QAChC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,MAAM,CAAC,aAAa,CAAC;QACzC,CAAC,CAAC,IAAI,CACT,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"context-document.types.js","sourceRoot":"","sources":["../../../src/context/context-document.types.ts"],"names":[],"mappings":";;;AAuNA,oDAIC;AAKD,oDAMC;AA4BD,sCAYC;AAxQY,QAAA,iBAAiB,GAAG,6BAA6B,CAAC;AAKlD,QAAA,uBAAuB,GAAG,IAAI,CAAC;AAM/B,QAAA,uBAAuB,GAAG,GAAG,CAAC;AAM9B,QAAA,uBAAuB,GAAG,IAAI,CAAC;AA4J/B,QAAA,gBAAgB,GAAG;IAC9B,cAAc,EAAE,YAAY;IAC5B,cAAc,EAAE,cAAc;IAC9B,cAAc,EAAE,cAAc;IAC9B,WAAW,EAAE,mBAAmB;IAChC,aAAa,EAAE,aAAa;IAC5B,iBAAiB,EAAE,KAAK;IACxB,WAAW,EAAE,UAAU;IACvB,gBAAgB,EAAE,eAAe;IACjC,YAAY,EAAE,WAAW;IACzB,eAAe,EAAE,cAAc;IAC/B,eAAe,EAAE,cAAc;IAC/B,sBAAsB,EAAE,qBAAqB;IAC7C,oBAAoB,EAAE,oBAAoB;IAC1C,4BAA4B,EAAE,4BAA4B;CAClD,CAAC;AAKE,QAAA,8BAA8B,GACzC,oCAAoC,CAAC;AAK1B,QAAA,sBAAsB,GAAG,CAAC,QAAQ,EAAE,WAAW,CAAU,CAAC;AAC1D,QAAA,sBAAsB,GAAG;IACpC,aAAa;IACb,WAAW;IACX,SAAS;CACD,CAAC;AAKX,SAAgB,oBAAoB,CAClC,KAAa;IAEb,OAAO,8BAAsB,CAAC,QAAQ,CAAC,KAAkC,CAAC,CAAC;AAC7E,CAAC;AAKD,SAAgB,oBAAoB,CAClC,KAAa;IAEb,OAAO,8BAAsB,CAAC,QAAQ,CACpC,KAA8C,CAC/C,CAAC;AACJ,CAAC;AAeY,QAAA,sBAAsB,GAAkB;IACnD,aAAa,EAAE,+BAAuB;IACtC,aAAa,EAAE,+BAAuB;CACvC,CAAC;AAUF,SAAgB,aAAa,CAC3B,KAA2B,EAC3B,SAAwB,8BAAsB;IAE9C,IAAI,CAAC,KAAK;QAAE,OAAO,SAAS,CAAC;IAC7B,OAAO,KAAK;SACT,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,aAAa,CAAC;SAC9B,GAAG,CAAC,IAAI,CAAC,EAAE,CACV,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,aAAa;QAChC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,MAAM,CAAC,aAAa,CAAC;QACzC,CAAC,CAAC,IAAI,CACT,CAAC;AACN,CAAC;AAMY,QAAA,uBAAuB,GAAG;IAErC,IAAI,EAAE,MAAM;IAEZ,OAAO,EAAE,OAAO;CACR,CAAC"}
@@ -14,3 +14,10 @@ export declare function createPlanSection(data: {
14
14
  export declare function mergeArraysUnique(existing: string[] | undefined, newItems: string[] | undefined): string[];
15
15
  export declare function mergeSection(existing: ContextSection, newData: Partial<ContextSection>, timestamp: string): ContextSection;
16
16
  export declare function generateTimestamp(date?: Date): string;
17
+ export declare function summarizeSection(section: ContextSection, keepRecentItems?: number): ContextSection;
18
+ export declare function estimateDocumentSize(document: ContextDocument): number;
19
+ export declare function cleanupContextDocument(document: ContextDocument, keepRecentSectionsFull?: number, keepRecentItems?: number): {
20
+ document: ContextDocument;
21
+ originalSize: number;
22
+ newSize: number;
23
+ };
@@ -8,6 +8,9 @@ exports.createPlanSection = createPlanSection;
8
8
  exports.mergeArraysUnique = mergeArraysUnique;
9
9
  exports.mergeSection = mergeSection;
10
10
  exports.generateTimestamp = generateTimestamp;
11
+ exports.summarizeSection = summarizeSection;
12
+ exports.estimateDocumentSize = estimateDocumentSize;
13
+ exports.cleanupContextDocument = cleanupContextDocument;
11
14
  const context_document_types_1 = require("./context-document.types");
12
15
  function serializeContextDocument(document) {
13
16
  const lines = [];
@@ -127,4 +130,48 @@ function generateTimestamp(date = new Date()) {
127
130
  hour12: false,
128
131
  });
129
132
  }
133
+ function summarizeSection(section, keepRecentItems = 5) {
134
+ const originalCounts = {
135
+ decisions: section.decisions?.length,
136
+ notes: section.notes?.length,
137
+ progress: section.progress?.length,
138
+ findings: section.findings?.length,
139
+ recommendations: section.recommendations?.length,
140
+ };
141
+ return {
142
+ ...section,
143
+ decisions: section.decisions?.slice(-keepRecentItems),
144
+ notes: section.notes?.slice(-keepRecentItems),
145
+ progress: section.progress?.slice(-keepRecentItems),
146
+ findings: section.findings?.slice(-keepRecentItems),
147
+ recommendations: section.recommendations?.slice(-keepRecentItems),
148
+ summarized: true,
149
+ originalCounts,
150
+ };
151
+ }
152
+ function estimateDocumentSize(document) {
153
+ const serialized = serializeContextDocument(document);
154
+ return serialized.length;
155
+ }
156
+ function cleanupContextDocument(document, keepRecentSectionsFull = 2, keepRecentItems = 5) {
157
+ const originalSize = estimateDocumentSize(document);
158
+ const sectionsCount = document.sections.length;
159
+ const cleanedSections = document.sections.map((section, index) => {
160
+ const isRecent = index >= sectionsCount - keepRecentSectionsFull;
161
+ if (isRecent || section.summarized) {
162
+ return section;
163
+ }
164
+ return summarizeSection(section, keepRecentItems);
165
+ });
166
+ const cleanedDocument = {
167
+ ...document,
168
+ sections: cleanedSections,
169
+ };
170
+ const newSize = estimateDocumentSize(cleanedDocument);
171
+ return {
172
+ document: cleanedDocument,
173
+ originalSize,
174
+ newSize,
175
+ };
176
+ }
130
177
  //# sourceMappingURL=context-serializer.utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"context-serializer.utils.js","sourceRoot":"","sources":["../../../src/context/context-serializer.utils.ts"],"names":[],"mappings":";;AAiBA,4DAaC;AAQD,8CAoBC;AA8BD,4CAyDC;AAWD,4DAeC;AASD,8CAsBC;AAUD,8CASC;AAWD,oCAyBC;AAQD,8CAMC;AAtQD,qEAA4D;AAQ5D,SAAgB,wBAAwB,CAAC,QAAyB;IAChE,MAAM,KAAK,GAAa,EAAE,CAAC;IAG3B,KAAK,CAAC,IAAI,CAAC,GAAG,iBAAiB,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;IAGpD,KAAK,MAAM,OAAO,IAAI,QAAQ,CAAC,QAAQ,EAAE,CAAC;QACxC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC;IAC3C,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAQD,SAAgB,iBAAiB,CAAC,QAAyB;IACzD,MAAM,EACJ,cAAc,EACd,cAAc,EACd,cAAc,EACd,WAAW,EACX,aAAa,EACb,iBAAiB,GAClB,GAAG,yCAAgB,CAAC;IAErB,OAAO;QACL,GAAG,cAAc,IAAI,QAAQ,CAAC,KAAK,EAAE;QACrC,EAAE;QACF,GAAG,cAAc,IAAI,QAAQ,CAAC,SAAS,EAAE;QACzC,GAAG,cAAc,IAAI,QAAQ,CAAC,aAAa,EAAE;QAC7C,GAAG,WAAW,IAAI,QAAQ,CAAC,WAAW,EAAE;QACxC,GAAG,aAAa,IAAI,QAAQ,CAAC,MAAM,EAAE;QACrC,EAAE;QACF,iBAAiB;KAClB,CAAC;AACJ,CAAC;AAUD,SAAS,aAAa,CACpB,KAAe,EACf,MAAc,EACd,KAA2B;IAE3B,IAAI,KAAK,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9B,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACnB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,KAAK,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;QAC1B,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjB,CAAC;AACH,CAAC;AAQD,SAAgB,gBAAgB,CAAC,OAAuB;IACtD,MAAM,EACJ,oBAAoB,EACpB,4BAA4B,EAC5B,aAAa,EACb,WAAW,EACX,gBAAgB,EAChB,YAAY,EACZ,eAAe,EACf,eAAe,EACf,sBAAsB,EACtB,iBAAiB,GAClB,GAAG,yCAAgB,CAAC;IAErB,MAAM,KAAK,GAAa,EAAE,CAAC;IAG3B,KAAK,CAAC,IAAI,CAAC,MAAM,OAAO,CAAC,IAAI,KAAK,OAAO,CAAC,SAAS,GAAG,CAAC,CAAC;IACxD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAGf,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;QACzB,KAAK,CAAC,IAAI,CAAC,GAAG,oBAAoB,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC;IAChE,CAAC;IAED,IAAI,OAAO,CAAC,mBAAmB,EAAE,CAAC;QAChC,MAAM,UAAU,GAAG,OAAO,CAAC,6BAA6B;YACtD,CAAC,CAAC,iBAAiB,OAAO,CAAC,6BAA6B,GAAG;YAC3D,CAAC,CAAC,EAAE,CAAC;QACP,KAAK,CAAC,IAAI,CACR,GAAG,4BAA4B,IAAI,OAAO,CAAC,mBAAmB,GAAG,UAAU,EAAE,CAC9E,CAAC;IACJ,CAAC;IAED,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QACnB,KAAK,CAAC,IAAI,CAAC,GAAG,aAAa,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IACnD,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAGf,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;QACjB,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACxB,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACzB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjB,CAAC;IAGD,aAAa,CAAC,KAAK,EAAE,gBAAgB,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;IAC1D,aAAa,CAAC,KAAK,EAAE,YAAY,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;IAClD,aAAa,CAAC,KAAK,EAAE,eAAe,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;IACxD,aAAa,CAAC,KAAK,EAAE,eAAe,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;IACxD,aAAa,CAAC,KAAK,EAAE,sBAAsB,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC;IAEtE,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IAE9B,OAAO,KAAK,CAAC;AACf,CAAC;AAWD,SAAgB,wBAAwB,CACtC,KAAa,EACb,WAA2B,EAC3B,YAAoB;IAEpB,OAAO;QACL,QAAQ,EAAE;YACR,KAAK;YACL,SAAS,EAAE,YAAY;YACvB,aAAa,EAAE,YAAY;YAC3B,WAAW,EAAE,MAAM;YACnB,MAAM,EAAE,QAAQ;SACjB;QACD,QAAQ,EAAE,CAAC,WAAW,CAAC;KACxB,CAAC;AACJ,CAAC;AASD,SAAgB,iBAAiB,CAC/B,IAOC,EACD,SAAiB;IAEjB,OAAO;QACL,IAAI,EAAE,MAAM;QACZ,SAAS;QACT,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,YAAY,EAAE,IAAI,CAAC,YAAY;QAC/B,mBAAmB,EAAE,IAAI,CAAC,mBAAmB;QAC7C,6BAA6B,EAAE,IAAI,CAAC,6BAA6B;QACjE,SAAS,EAAE,IAAI,CAAC,SAAS;QACzB,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,MAAM,EAAE,aAAa;KACtB,CAAC;AACJ,CAAC;AAUD,SAAgB,iBAAiB,CAC/B,QAA8B,EAC9B,QAA8B;IAE9B,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC;IACpC,KAAK,MAAM,IAAI,IAAI,QAAQ,IAAI,EAAE,EAAE,CAAC;QAClC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAChB,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACzB,CAAC;AAWD,SAAgB,YAAY,CAC1B,QAAwB,EACxB,OAAgC,EAChC,SAAiB;IAEjB,OAAO;QACL,GAAG,QAAQ;QACX,SAAS;QACT,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,QAAQ,CAAC,IAAI;QACnC,YAAY,EAAE,OAAO,CAAC,YAAY,IAAI,QAAQ,CAAC,YAAY;QAC3D,mBAAmB,EACjB,OAAO,CAAC,mBAAmB,IAAI,QAAQ,CAAC,mBAAmB;QAC7D,6BAA6B,EAC3B,OAAO,CAAC,6BAA6B;YACrC,QAAQ,CAAC,6BAA6B;QACxC,SAAS,EAAE,iBAAiB,CAAC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC,SAAS,CAAC;QACnE,KAAK,EAAE,iBAAiB,CAAC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC;QACvD,QAAQ,EAAE,iBAAiB,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC;QAChE,QAAQ,EAAE,iBAAiB,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC;QAChE,eAAe,EAAE,iBAAiB,CAChC,QAAQ,CAAC,eAAe,EACxB,OAAO,CAAC,eAAe,CACxB;QACD,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,QAAQ,CAAC,MAAM;KAC1C,CAAC;AACJ,CAAC;AAQD,SAAgB,iBAAiB,CAAC,OAAa,IAAI,IAAI,EAAE;IACvD,OAAO,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE;QAClC,IAAI,EAAE,SAAS;QACf,MAAM,EAAE,SAAS;QACjB,MAAM,EAAE,KAAK;KACd,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"context-serializer.utils.js","sourceRoot":"","sources":["../../../src/context/context-serializer.utils.ts"],"names":[],"mappings":"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"}
@@ -33,7 +33,7 @@ export interface ContextHints {
33
33
  export interface AnalyzeTaskInput {
34
34
  prompt: string;
35
35
  files?: string[];
36
- mode?: 'PLAN' | 'ACT' | 'EVAL';
36
+ mode?: 'PLAN' | 'ACT' | 'EVAL' | 'AUTO';
37
37
  }
38
38
  export interface AnalyzeTaskOutput {
39
39
  analysis: TaskAnalysis;
@@ -12,6 +12,10 @@ const config_module_1 = require("../config/config.module");
12
12
  const config_service_1 = require("../config/config.service");
13
13
  const rules_module_1 = require("../rules/rules.module");
14
14
  const rules_service_1 = require("../rules/rules.service");
15
+ const skill_module_1 = require("../skill/skill.module");
16
+ const skill_recommendation_service_1 = require("../skill/skill-recommendation.service");
17
+ const agent_module_1 = require("../agent/agent.module");
18
+ const agent_service_1 = require("../agent/agent.service");
15
19
  const agent_utils_1 = require("../shared/agent.utils");
16
20
  const keyword_service_1 = require("./keyword.service");
17
21
  const primary_agent_resolver_1 = require("./primary-agent-resolver");
@@ -21,11 +25,11 @@ let KeywordModule = class KeywordModule {
21
25
  exports.KeywordModule = KeywordModule;
22
26
  exports.KeywordModule = KeywordModule = __decorate([
23
27
  (0, common_1.Module)({
24
- imports: [rules_module_1.RulesModule, config_module_1.CodingBuddyConfigModule],
28
+ imports: [rules_module_1.RulesModule, config_module_1.CodingBuddyConfigModule, skill_module_1.SkillModule, agent_module_1.AgentModule],
25
29
  providers: [
26
30
  {
27
31
  provide: exports.KEYWORD_SERVICE,
28
- useFactory: (rulesService, configService) => {
32
+ useFactory: (rulesService, configService, skillRecommendationService, agentService) => {
29
33
  const logger = new common_1.Logger('KeywordModule');
30
34
  const loadConfig = async () => {
31
35
  const content = await rulesService.getRuleContent('keyword-modes.json');
@@ -80,9 +84,78 @@ exports.KeywordModule = KeywordModule = __decorate([
80
84
  return null;
81
85
  }
82
86
  };
83
- return new keyword_service_1.KeywordService(loadConfig, loadRule, loadAgent, primaryAgentResolver, loadAutoConfig);
87
+ const getSkillRecommendations = (prompt) => {
88
+ try {
89
+ const result = skillRecommendationService.recommendSkills(prompt);
90
+ return result.recommendations.map(rec => ({
91
+ skillName: rec.skillName,
92
+ confidence: rec.confidence,
93
+ matchedPatterns: rec.matchedPatterns,
94
+ description: rec.description,
95
+ }));
96
+ }
97
+ catch (error) {
98
+ logger.debug(`Failed to get skill recommendations: ${error instanceof Error ? error.message : 'Unknown error'}`);
99
+ return [];
100
+ }
101
+ };
102
+ const loadSkillContent = async (skillName) => {
103
+ try {
104
+ const skill = await rulesService.getSkill(skillName);
105
+ return {
106
+ name: skill.name,
107
+ description: skill.description,
108
+ content: skill.content,
109
+ };
110
+ }
111
+ catch (error) {
112
+ logger.debug(`Failed to load skill content for '${skillName}': ${error instanceof Error ? error.message : 'Unknown error'}`);
113
+ return null;
114
+ }
115
+ };
116
+ const loadAgentSystemPrompt = async (agentName, mode) => {
117
+ try {
118
+ const result = await agentService.getAgentSystemPrompt(agentName, {
119
+ mode,
120
+ });
121
+ return {
122
+ agentName: result.agentName,
123
+ displayName: result.displayName,
124
+ systemPrompt: result.systemPrompt,
125
+ description: result.description,
126
+ };
127
+ }
128
+ catch (error) {
129
+ logger.debug(`Failed to load agent system prompt for '${agentName}': ${error instanceof Error ? error.message : 'Unknown error'}`);
130
+ return null;
131
+ }
132
+ };
133
+ const getMaxIncludedSkills = async () => {
134
+ try {
135
+ const settings = await configService.getSettings();
136
+ return settings.ai?.maxIncludedSkills ?? null;
137
+ }
138
+ catch (error) {
139
+ logger.debug(`Failed to load maxIncludedSkills: ${error instanceof Error ? error.message : 'Unknown error'}`);
140
+ return null;
141
+ }
142
+ };
143
+ const options = {
144
+ primaryAgentResolver,
145
+ loadAutoConfigFn: loadAutoConfig,
146
+ getSkillRecommendationsFn: getSkillRecommendations,
147
+ loadSkillContentFn: loadSkillContent,
148
+ loadAgentSystemPromptFn: loadAgentSystemPrompt,
149
+ getMaxIncludedSkillsFn: getMaxIncludedSkills,
150
+ };
151
+ return new keyword_service_1.KeywordService(loadConfig, loadRule, loadAgent, options);
84
152
  },
85
- inject: [rules_service_1.RulesService, config_service_1.ConfigService],
153
+ inject: [
154
+ rules_service_1.RulesService,
155
+ config_service_1.ConfigService,
156
+ skill_recommendation_service_1.SkillRecommendationService,
157
+ agent_service_1.AgentService,
158
+ ],
86
159
  },
87
160
  ],
88
161
  exports: [exports.KEYWORD_SERVICE],
@@ -1 +1 @@
1
- {"version":3,"file":"keyword.module.js","sourceRoot":"","sources":["../../../src/keyword/keyword.module.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"keyword.module.js","sourceRoot":"","sources":["../../../src/keyword/keyword.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAgD;AAChD,2DAAqF;AACrF,6DAAyD;AACzD,wDAAoD;AACpD,0DAAsD;AACtD,wDAAoD;AACpD,wFAAmF;AACnF,wDAAoD;AACpD,0DAAsD;AACtD,uDAA2D;AAC3D,uDAM2B;AAC3B,qEAAgE;AAGnD,QAAA,eAAe,GAAG,iBAAiB,CAAC;AAqL1C,IAAM,aAAa,GAAnB,MAAM,aAAa;CAAG,CAAA;AAAhB,sCAAa;wBAAb,aAAa;IAnLzB,IAAA,eAAM,EAAC;QACN,OAAO,EAAE,CAAC,0BAAW,EAAE,uCAAe,EAAE,0BAAW,EAAE,0BAAW,CAAC;QACjE,SAAS,EAAE;YACT;gBACE,OAAO,EAAE,uBAAe;gBACxB,UAAU,EAAE,CACV,YAA0B,EAC1B,aAA4B,EAC5B,0BAAsD,EACtD,YAA0B,EAC1B,EAAE;oBACF,MAAM,MAAM,GAAG,IAAI,eAAM,CAAC,eAAe,CAAC,CAAC;oBAE3C,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,EAAoB,EAAE;wBAC9D,OAAO,YAAY,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;oBAC1C,CAAC,CAAC;oBAGF,MAAM,gBAAgB,GAAG,KAAK,IAAI,EAAE;wBAClC,IAAI,CAAC;4BACH,MAAM,QAAQ,GAAG,MAAM,aAAa,CAAC,WAAW,EAAE,CAAC;4BACnD,IAAI,QAAQ,CAAC,EAAE,EAAE,YAAY,IAAI,QAAQ,CAAC,EAAE,EAAE,aAAa,EAAE,CAAC;gCAC5D,OAAO;oCACL,YAAY,EAAE,QAAQ,CAAC,EAAE,CAAC,YAAY;oCACtC,aAAa,EAAE,QAAQ,CAAC,EAAE,CAAC,aAAa;iCACzC,CAAC;4BACJ,CAAC;4BACD,OAAO,IAAI,CAAC;wBACd,CAAC;wBAAC,OAAO,KAAK,EAAE,CAAC;4BACf,MAAM,CAAC,KAAK,CACV,kCAAkC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,EAAE,CAC7F,CAAC;4BACF,OAAO,IAAI,CAAC;wBACd,CAAC;oBACH,CAAC,CAAC;oBAEF,MAAM,iBAAiB,GAAG,KAAK,IAAuB,EAAE;wBACtD,MAAM,UAAU,GAAG,MAAM,YAAY,CAAC,UAAU,EAAE,CAAC;wBACnD,MAAM,aAAa,GAAa,EAAE,CAAC;wBAEnC,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;4BAC9B,IAAI,CAAC;gCACH,MAAM,KAAK,GAAG,MAAM,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;gCAChD,MAAM,IAAI,GAAG,KAAK,CAAC,IAAqC,CAAC;gCACzD,IAAI,IAAI,EAAE,IAAI,KAAK,SAAS,EAAE,CAAC;oCAC7B,aAAa,CAAC,IAAI,CAAC,IAAA,gCAAkB,EAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;gCACrD,CAAC;4BACH,CAAC;4BAAC,MAAM,CAAC;4BAET,CAAC;wBACH,CAAC;wBAED,OAAO,aAAa,CAAC;oBACvB,CAAC,CAAC;oBAEF,MAAM,oBAAoB,GAAG,IAAI,6CAAoB,CACnD,gBAAgB,EAChB,iBAAiB,CAClB,CAAC;oBAEF,MAAM,cAAc,GAAG,KAAK,IAAI,EAAE;wBAChC,IAAI,CAAC;4BACH,MAAM,QAAQ,GAAG,MAAM,aAAa,CAAC,WAAW,EAAE,CAAC;4BACnD,OAAO,QAAQ,CAAC,IAAI,IAAI,IAAI,CAAC;wBAC/B,CAAC;wBAAC,OAAO,KAAK,EAAE,CAAC;4BACf,MAAM,CAAC,KAAK,CACV,+BAA+B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,EAAE,CAC1F,CAAC;4BACF,OAAO,IAAI,CAAC;wBACd,CAAC;oBACH,CAAC,CAAC;oBAGF,MAAM,uBAAuB,GAAG,CAC9B,MAAc,EACa,EAAE;wBAC7B,IAAI,CAAC;4BACH,MAAM,MAAM,GAAG,0BAA0B,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;4BAClE,OAAO,MAAM,CAAC,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gCACxC,SAAS,EAAE,GAAG,CAAC,SAAS;gCACxB,UAAU,EAAE,GAAG,CAAC,UAAU;gCAC1B,eAAe,EAAE,GAAG,CAAC,eAAe;gCACpC,WAAW,EAAE,GAAG,CAAC,WAAW;6BAC7B,CAAC,CAAC,CAAC;wBACN,CAAC;wBAAC,OAAO,KAAK,EAAE,CAAC;4BACf,MAAM,CAAC,KAAK,CACV,wCAAwC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,EAAE,CACnG,CAAC;4BACF,OAAO,EAAE,CAAC;wBACZ,CAAC;oBACH,CAAC,CAAC;oBAGF,MAAM,gBAAgB,GAAG,KAAK,EAC5B,SAAiB,EACiB,EAAE;wBACpC,IAAI,CAAC;4BACH,MAAM,KAAK,GAAG,MAAM,YAAY,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;4BACrD,OAAO;gCACL,IAAI,EAAE,KAAK,CAAC,IAAI;gCAChB,WAAW,EAAE,KAAK,CAAC,WAAW;gCAC9B,OAAO,EAAE,KAAK,CAAC,OAAO;6BACvB,CAAC;wBACJ,CAAC;wBAAC,OAAO,KAAK,EAAE,CAAC;4BACf,MAAM,CAAC,KAAK,CACV,qCAAqC,SAAS,MAAM,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,EAAE,CAC/G,CAAC;4BACF,OAAO,IAAI,CAAC;wBACd,CAAC;oBACH,CAAC,CAAC;oBAGF,MAAM,qBAAqB,GAAG,KAAK,EACjC,SAAiB,EACjB,IAAU,EAC6B,EAAE;wBACzC,IAAI,CAAC;4BACH,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,oBAAoB,CAAC,SAAS,EAAE;gCAChE,IAAI;6BACL,CAAC,CAAC;4BACH,OAAO;gCACL,SAAS,EAAE,MAAM,CAAC,SAAS;gCAC3B,WAAW,EAAE,MAAM,CAAC,WAAW;gCAC/B,YAAY,EAAE,MAAM,CAAC,YAAY;gCACjC,WAAW,EAAE,MAAM,CAAC,WAAW;6BAChC,CAAC;wBACJ,CAAC;wBAAC,OAAO,KAAK,EAAE,CAAC;4BACf,MAAM,CAAC,KAAK,CACV,2CAA2C,SAAS,MAAM,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,EAAE,CACrH,CAAC;4BACF,OAAO,IAAI,CAAC;wBACd,CAAC;oBACH,CAAC,CAAC;oBAGF,MAAM,oBAAoB,GAAG,KAAK,IAA4B,EAAE;wBAC9D,IAAI,CAAC;4BACH,MAAM,QAAQ,GAAG,MAAM,aAAa,CAAC,WAAW,EAAE,CAAC;4BACnD,OAAO,QAAQ,CAAC,EAAE,EAAE,iBAAiB,IAAI,IAAI,CAAC;wBAChD,CAAC;wBAAC,OAAO,KAAK,EAAE,CAAC;4BACf,MAAM,CAAC,KAAK,CACV,qCAAqC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,EAAE,CAChG,CAAC;4BACF,OAAO,IAAI,CAAC;wBACd,CAAC;oBACH,CAAC,CAAC;oBAGF,MAAM,OAAO,GAA0B;wBACrC,oBAAoB;wBACpB,gBAAgB,EAAE,cAAc;wBAChC,yBAAyB,EAAE,uBAAuB;wBAClD,kBAAkB,EAAE,gBAAgB;wBACpC,uBAAuB,EAAE,qBAAqB;wBAC9C,sBAAsB,EAAE,oBAAoB;qBAC7C,CAAC;oBAEF,OAAO,IAAI,gCAAc,CAAC,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;gBACtE,CAAC;gBACD,MAAM,EAAE;oBACN,4BAAY;oBACZ,8BAAa;oBACb,yDAA0B;oBAC1B,4BAAY;iBACb;aACF;SACF;QACD,OAAO,EAAE,CAAC,uBAAe,CAAC;KAC3B,CAAC;GACW,aAAa,CAAG"}
@@ -1,22 +1,56 @@
1
1
  import { type Mode, type RuleContent, type ParseModeResult, type KeywordModesConfig, type ResolutionContext, type AutoConfig } from './keyword.types';
2
+ import { type VerbosityLevel } from '../shared/verbosity.types';
3
+ import { PrimaryAgentResolver } from './primary-agent-resolver';
2
4
  export interface ParseModeOptions {
3
5
  recommendedActAgent?: string;
4
6
  context?: ResolutionContext;
7
+ includeSkills?: boolean;
8
+ includeAgent?: boolean;
9
+ maxIncludedSkills?: number;
10
+ verbosity?: VerbosityLevel;
11
+ }
12
+ export interface KeywordServiceOptions {
13
+ primaryAgentResolver?: PrimaryAgentResolver;
14
+ loadAutoConfigFn?: () => Promise<AutoConfig | null>;
15
+ getSkillRecommendationsFn?: (prompt: string) => SkillRecommendationInfo[];
16
+ loadSkillContentFn?: (skillName: string) => Promise<SkillContentInfo | null>;
17
+ loadAgentSystemPromptFn?: (agentName: string, mode: Mode) => Promise<AgentSystemPromptInfo | null>;
18
+ getMaxIncludedSkillsFn?: () => Promise<number | null>;
19
+ }
20
+ export interface SkillRecommendationInfo {
21
+ skillName: string;
22
+ confidence: 'high' | 'medium' | 'low';
23
+ matchedPatterns: string[];
24
+ description: string;
25
+ }
26
+ export interface SkillContentInfo {
27
+ name: string;
28
+ description: string;
29
+ content: string;
30
+ }
31
+ export interface AgentSystemPromptInfo {
32
+ agentName: string;
33
+ displayName: string;
34
+ systemPrompt: string;
35
+ description: string;
5
36
  }
6
- import { PrimaryAgentResolver } from './primary-agent-resolver';
7
37
  export declare class KeywordService {
8
38
  private readonly loadConfigFn;
9
39
  private readonly loadRuleFn;
10
40
  private readonly loadAgentInfoFn?;
11
- private readonly loadAutoConfigFn?;
12
41
  private readonly logger;
13
42
  private configCache;
14
43
  private readonly primaryAgentResolver?;
15
44
  private readonly cacheTTL;
16
45
  private cacheHits;
17
46
  private cacheMisses;
47
+ private readonly loadAutoConfigFn?;
48
+ private readonly getSkillRecommendationsFn?;
49
+ private readonly loadSkillContentFn?;
50
+ private readonly loadAgentSystemPromptFn?;
51
+ private readonly getMaxIncludedSkillsFn?;
18
52
  private static readonly CONTEXT_SPECIALIST_PATTERNS;
19
- constructor(loadConfigFn: () => Promise<KeywordModesConfig>, loadRuleFn: (path: string) => Promise<string>, loadAgentInfoFn?: ((agentName: string) => Promise<unknown>) | undefined, primaryAgentResolver?: PrimaryAgentResolver, loadAutoConfigFn?: (() => Promise<AutoConfig | null>) | undefined);
53
+ constructor(loadConfigFn: () => Promise<KeywordModesConfig>, loadRuleFn: (path: string) => Promise<string>, loadAgentInfoFn?: ((agentName: string) => Promise<unknown>) | undefined, options?: KeywordServiceOptions);
20
54
  parseMode(prompt: string, options?: ParseModeOptions): Promise<ParseModeResult>;
21
55
  private extractModeFromPrompt;
22
56
  private checkForMultipleKeywordsInPrompt;
@@ -29,6 +63,10 @@ export declare class KeywordService {
29
63
  private addActivationMessageToResult;
30
64
  private addAutoConfigToResult;
31
65
  private addComplexityToResult;
66
+ private addIncludedSkillsToResult;
67
+ private getMaxIncludedSkills;
68
+ private loadSkillsInParallel;
69
+ private addIncludedAgentToResult;
32
70
  private getPrimaryAgentTier;
33
71
  private getParallelAgentsRecommendation;
34
72
  private getContextAwareSpecialists;
@@ -36,7 +74,7 @@ export declare class KeywordService {
36
74
  invalidateConfigCache(): void;
37
75
  loadModeConfig(): Promise<KeywordModesConfig>;
38
76
  private getCacheHitRate;
39
- getRulesForMode(mode: Mode): Promise<RuleContent[]>;
77
+ getRulesForMode(mode: Mode, verbosity?: VerbosityLevel): Promise<RuleContent[]>;
40
78
  private getAgentInfo;
41
79
  private getAutoConfig;
42
80
  private resolvePrimaryAgent;