@codebolt/agent 2.2.2 → 2.2.5

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 (141) hide show
  1. package/dist/builderpattern/agent.js +2 -2
  2. package/dist/builderpattern/followupquestionbuilder.js +1 -1
  3. package/dist/builderpattern/llmoutputhandler.js +7 -7
  4. package/dist/builderpattern/usermessage.d.ts +6 -1
  5. package/dist/composablepattern/document.js +2 -35
  6. package/dist/local-tools/fileTools.d.ts +26 -0
  7. package/dist/local-tools/fileTools.js +162 -0
  8. package/dist/processor/types/interfaces.d.ts +44 -21
  9. package/dist/processor-pieces/additionalModifiers/argumentProcessorModifier.d.ts +13 -0
  10. package/dist/processor-pieces/additionalModifiers/argumentProcessorModifier.js +68 -0
  11. package/dist/processor-pieces/additionalModifiers/atFileProcessorModifier.d.ts +15 -0
  12. package/dist/processor-pieces/additionalModifiers/atFileProcessorModifier.js +212 -0
  13. package/dist/processor-pieces/additionalModifiers/chatCompressionModifier.d.ts +19 -0
  14. package/dist/processor-pieces/additionalModifiers/chatCompressionModifier.js +110 -0
  15. package/dist/processor-pieces/additionalModifiers/chatRecordingModifier.d.ts +23 -0
  16. package/dist/processor-pieces/additionalModifiers/chatRecordingModifier.js +173 -0
  17. package/dist/processor-pieces/additionalModifiers/coreSystemPromptModifier.d.ts +14 -0
  18. package/dist/processor-pieces/additionalModifiers/coreSystemPromptModifier.js +93 -0
  19. package/dist/processor-pieces/additionalModifiers/directoryContextModifier.d.ts +30 -0
  20. package/dist/processor-pieces/additionalModifiers/directoryContextModifier.js +330 -0
  21. package/dist/processor-pieces/additionalModifiers/environmentContextModifier.d.ts +26 -0
  22. package/dist/processor-pieces/additionalModifiers/environmentContextModifier.js +269 -0
  23. package/dist/processor-pieces/additionalModifiers/fallbackHandlerModifier.d.ts +38 -0
  24. package/dist/processor-pieces/additionalModifiers/fallbackHandlerModifier.js +217 -0
  25. package/dist/processor-pieces/additionalModifiers/ideContextModifier.d.ts +34 -0
  26. package/dist/processor-pieces/additionalModifiers/ideContextModifier.js +147 -0
  27. package/dist/processor-pieces/additionalModifiers/index.d.ts +12 -0
  28. package/dist/processor-pieces/additionalModifiers/index.js +28 -0
  29. package/dist/processor-pieces/additionalModifiers/loopDetectionModifier.d.ts +29 -0
  30. package/dist/processor-pieces/additionalModifiers/loopDetectionModifier.js +155 -0
  31. package/dist/processor-pieces/additionalModifiers/memoryImportModifier.d.ts +15 -0
  32. package/dist/processor-pieces/additionalModifiers/memoryImportModifier.js +129 -0
  33. package/dist/processor-pieces/additionalModifiers/shellProcessorModifier.d.ts +25 -0
  34. package/dist/processor-pieces/additionalModifiers/shellProcessorModifier.js +169 -0
  35. package/dist/processor-pieces/additionalModifiers/toolInjectionModifier.d.ts +20 -0
  36. package/dist/processor-pieces/additionalModifiers/toolInjectionModifier.js +152 -0
  37. package/dist/processor-pieces/messageModifiers/addCurrentDirectoryRootFilesModifier.d.ts +7 -0
  38. package/dist/processor-pieces/messageModifiers/addCurrentDirectoryRootFilesModifier.js +93 -0
  39. package/dist/processor-pieces/messageModifiers/addToolsListMessageModifier.d.ts +14 -5
  40. package/dist/processor-pieces/messageModifiers/addToolsListMessageModifier.js +41 -40
  41. package/dist/processor-pieces/messageModifiers/advancedSystemInstructionMessageModifier.d.ts +9 -0
  42. package/dist/processor-pieces/messageModifiers/advancedSystemInstructionMessageModifier.js +77 -0
  43. package/dist/processor-pieces/messageModifiers/atFileProcessorModifier.js +5 -5
  44. package/dist/processor-pieces/messageModifiers/baseContextMessageModifier.d.ts +5 -13
  45. package/dist/processor-pieces/messageModifiers/baseContextMessageModifier.js +50 -58
  46. package/dist/processor-pieces/messageModifiers/baseSystemInstructionMessageModifier.d.ts +6 -8
  47. package/dist/processor-pieces/messageModifiers/baseSystemInstructionMessageModifier.js +66 -22
  48. package/dist/processor-pieces/messageModifiers/chatCompressionModifier.d.ts +19 -0
  49. package/dist/processor-pieces/messageModifiers/chatCompressionModifier.js +110 -0
  50. package/dist/processor-pieces/messageModifiers/chatHistoryMessageModifier.example.d.ts +20 -0
  51. package/dist/processor-pieces/messageModifiers/chatHistoryMessageModifier.example.js +124 -0
  52. package/dist/processor-pieces/messageModifiers/environmentContext.d.ts +41 -0
  53. package/dist/processor-pieces/messageModifiers/environmentContext.js +355 -0
  54. package/dist/processor-pieces/messageModifiers/handleUrlMessageModifier.d.ts +3 -2
  55. package/dist/processor-pieces/messageModifiers/handleUrlMessageModifier.js +1 -2
  56. package/dist/processor-pieces/messageModifiers/imageAttachmentMessageModifier.d.ts +3 -2
  57. package/dist/processor-pieces/messageModifiers/imageAttachmentMessageModifier.js +1 -2
  58. package/dist/processor-pieces/messageModifiers/mentionedFilesModifier.d.ts +23 -0
  59. package/dist/processor-pieces/messageModifiers/mentionedFilesModifier.js +207 -0
  60. package/dist/processor-pieces/messageModifiers/simpleMessageModifier.d.ts +7 -0
  61. package/dist/processor-pieces/messageModifiers/simpleMessageModifier.js +26 -0
  62. package/dist/processor-pieces/messageModifiers/workingDirectoryMessageModifier.d.ts +18 -2
  63. package/dist/processor-pieces/messageModifiers/workingDirectoryMessageModifier.js +291 -93
  64. package/dist/processor-pieces/postInference/llmOutputValidityProcessor.d.ts +1 -0
  65. package/dist/processor-pieces/postInference/llmOutputValidityProcessor.js +2 -0
  66. package/dist/processor-pieces/postInferenceProcessors/checkForNoToolCall.d.ts +7 -0
  67. package/dist/processor-pieces/postInferenceProcessors/checkForNoToolCall.js +24 -0
  68. package/dist/processor-pieces/postToolCall/advancedLoopDetectionProcessor.d.ts +41 -0
  69. package/dist/processor-pieces/postToolCall/advancedLoopDetectionProcessor.js +197 -0
  70. package/dist/processor-pieces/postToolCall/chatCompressionProcessor.d.ts +26 -0
  71. package/dist/processor-pieces/postToolCall/chatCompressionProcessor.js +90 -0
  72. package/dist/processor-pieces/postToolCall/chatRecordingProcessor.d.ts +81 -0
  73. package/dist/processor-pieces/postToolCall/chatRecordingProcessor.js +329 -0
  74. package/dist/processor-pieces/postToolCall/contextManagementProcessor.d.ts +40 -0
  75. package/dist/processor-pieces/postToolCall/contextManagementProcessor.js +272 -0
  76. package/dist/processor-pieces/postToolCall/conversationCompactorProcessor.d.ts +49 -0
  77. package/dist/processor-pieces/postToolCall/conversationCompactorProcessor.js +291 -0
  78. package/dist/processor-pieces/postToolCall/conversationContinuityProcessor.d.ts +49 -0
  79. package/dist/processor-pieces/postToolCall/conversationContinuityProcessor.js +293 -0
  80. package/dist/processor-pieces/postToolCall/followUpConversationProcessor.d.ts +47 -0
  81. package/dist/processor-pieces/postToolCall/followUpConversationProcessor.js +249 -0
  82. package/dist/processor-pieces/postToolCall/loopDetectionProcessor.d.ts +30 -0
  83. package/dist/processor-pieces/postToolCall/loopDetectionProcessor.js +137 -0
  84. package/dist/processor-pieces/postToolCall/responseValidationProcessor.d.ts +30 -0
  85. package/dist/processor-pieces/postToolCall/responseValidationProcessor.js +228 -0
  86. package/dist/processor-pieces/postToolCall/telemetryProcessor.d.ts +99 -0
  87. package/dist/processor-pieces/postToolCall/telemetryProcessor.js +278 -0
  88. package/dist/processor-pieces/postToolCall/tokenManagementProcessor.d.ts +37 -0
  89. package/dist/processor-pieces/postToolCall/tokenManagementProcessor.js +178 -0
  90. package/dist/processor-pieces/postToolCall/toolExecutionProcessor.d.ts +43 -0
  91. package/dist/processor-pieces/postToolCall/toolExecutionProcessor.js +207 -0
  92. package/dist/processor-pieces/preInference/conversationCompactorProcessor.d.ts +52 -0
  93. package/dist/processor-pieces/preInference/conversationCompactorProcessor.js +264 -0
  94. package/dist/processor-pieces/preInference/conversationContinuityProcessor.d.ts +49 -0
  95. package/dist/processor-pieces/preInference/conversationContinuityProcessor.js +293 -0
  96. package/dist/processor-pieces/preInferenceProcessors/conversationCompaction.d.ts +7 -0
  97. package/dist/processor-pieces/preInferenceProcessors/conversationCompaction.js +31 -0
  98. package/dist/processor-pieces/preToolCall/index.d.ts +9 -0
  99. package/dist/processor-pieces/preToolCall/index.js +18 -0
  100. package/dist/processor-pieces/preToolCall/localToolInterceptorProcessor.d.ts +58 -0
  101. package/dist/processor-pieces/preToolCall/localToolInterceptorProcessor.js +444 -0
  102. package/dist/processor-pieces/preToolCall/toolParameterModifierProcessor.d.ts +44 -0
  103. package/dist/processor-pieces/preToolCall/toolParameterModifierProcessor.js +367 -0
  104. package/dist/processor-pieces/preToolCall/toolValidationProcessor.d.ts +58 -0
  105. package/dist/processor-pieces/preToolCall/toolValidationProcessor.js +391 -0
  106. package/dist/unified/agent/agent.js +2 -2
  107. package/dist/unified/agent/tool.d.ts +99 -0
  108. package/dist/unified/agent/tool.js +440 -0
  109. package/dist/unified/base/initialPromptGenerator.js +5 -5
  110. package/dist/unified/base/responseExecutor.js +6 -6
  111. package/dist/unified/examples/agentExample.d.ts +46 -0
  112. package/dist/unified/examples/agentExample.js +464 -0
  113. package/dist/unified/examples/documentationPatternExample.d.ts +10 -0
  114. package/dist/unified/examples/documentationPatternExample.js +385 -0
  115. package/dist/unified/examples/followUpProcessorsExample.d.ts +45 -0
  116. package/dist/unified/examples/followUpProcessorsExample.js +311 -0
  117. package/dist/unified/examples/orchestratorExample.d.ts +16 -0
  118. package/dist/unified/examples/orchestratorExample.js +415 -0
  119. package/dist/unified/examples/preToolCallProcessorsExample.d.ts +36 -0
  120. package/dist/unified/examples/preToolCallProcessorsExample.js +458 -0
  121. package/dist/unified/examples/workflowExample.d.ts +12 -0
  122. package/dist/unified/examples/workflowExample.js +497 -0
  123. package/dist/unified/orchestrator/orchestrator.d.ts +260 -0
  124. package/dist/unified/orchestrator/orchestrator.js +519 -0
  125. package/package.json +5 -5
  126. package/dist/agent.d.ts +0 -86
  127. package/dist/agent.js +0 -324
  128. package/dist/followupquestionbuilder.d.ts +0 -75
  129. package/dist/followupquestionbuilder.js +0 -197
  130. package/dist/index.d.ts +0 -14
  131. package/dist/index.js +0 -23
  132. package/dist/llmoutputhandler.d.ts +0 -102
  133. package/dist/llmoutputhandler.js +0 -452
  134. package/dist/promptbuilder.d.ts +0 -382
  135. package/dist/promptbuilder.js +0 -805
  136. package/dist/systemprompt.d.ts +0 -20
  137. package/dist/systemprompt.js +0 -48
  138. package/dist/taskInstruction.d.ts +0 -37
  139. package/dist/taskInstruction.js +0 -57
  140. package/dist/usermessage.d.ts +0 -70
  141. package/dist/usermessage.js +0 -123
@@ -1,4 +1,5 @@
1
- import { BaseMessageModifier, MessageModifierInput, ProcessedMessage } from '../../processor';
1
+ import { FlatUserMessage } from '@codebolt/types/sdk';
2
+ import { BaseMessageModifier, ProcessedMessage } from '../../processor';
2
3
  export interface ImageAttachmentMessageModifierOptions {
3
4
  passImageAs?: 'URL' | 'Base64' | 'Path';
4
5
  supportedFormats?: string[];
@@ -9,7 +10,7 @@ export declare class ImageAttachmentMessageModifier extends BaseMessageModifier
9
10
  private readonly supportedFormats;
10
11
  private readonly maxImageSize;
11
12
  constructor(options?: ImageAttachmentMessageModifierOptions);
12
- modify(input: MessageModifierInput): Promise<ProcessedMessage>;
13
+ modify(originalRequest: FlatUserMessage, createdMessage: ProcessedMessage): Promise<ProcessedMessage>;
13
14
  private extractImageReferences;
14
15
  private isImagePath;
15
16
  private processImage;
@@ -44,9 +44,8 @@ class ImageAttachmentMessageModifier extends processor_1.BaseMessageModifier {
44
44
  this.supportedFormats = options.supportedFormats || ['.png', '.jpg', '.jpeg', '.gif', '.webp', '.bmp'];
45
45
  this.maxImageSize = options.maxImageSize || 10 * 1024 * 1024; // 10MB default
46
46
  }
47
- async modify(input) {
47
+ async modify(originalRequest, createdMessage) {
48
48
  try {
49
- const { originalRequest, createdMessage, context } = input;
50
49
  // Extract image references from the request
51
50
  const imageReferences = this.extractImageReferences(originalRequest);
52
51
  if (imageReferences.length === 0) {
@@ -0,0 +1,23 @@
1
+ import { ProcessedMessage } from "@codebolt/types/agent";
2
+ import { BaseMessageModifier } from "../base";
3
+ import { FlatUserMessage } from "@codebolt/types/sdk";
4
+ /**
5
+ * Message modifier that reads files and folders mentioned in the user message
6
+ * Uses mentionedFiles and mentionedFolders from FlatUserMessage
7
+ */
8
+ export declare class MentionedFilesModifier extends BaseMessageModifier {
9
+ constructor();
10
+ modify(originalRequest: FlatUserMessage, createdMessage: ProcessedMessage): Promise<ProcessedMessage>;
11
+ /**
12
+ * Resolves and reads a file, handling both files and directories
13
+ */
14
+ private resolveAndReadFile;
15
+ /**
16
+ * Formats file content for inclusion in the message
17
+ */
18
+ private formatFileContent;
19
+ /**
20
+ * Updates the user message with file content
21
+ */
22
+ private updateUserMessage;
23
+ }
@@ -0,0 +1,207 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ var __importDefault = (this && this.__importDefault) || function (mod) {
36
+ return (mod && mod.__esModule) ? mod : { "default": mod };
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.MentionedFilesModifier = void 0;
40
+ const base_1 = require("../base");
41
+ const fs = __importStar(require("node:fs/promises"));
42
+ const path = __importStar(require("node:path"));
43
+ const codeboltjs_1 = __importDefault(require("@codebolt/codeboltjs"));
44
+ /**
45
+ * Message modifier that reads files and folders mentioned in the user message
46
+ * Uses mentionedFiles and mentionedFolders from FlatUserMessage
47
+ */
48
+ class MentionedFilesModifier extends base_1.BaseMessageModifier {
49
+ constructor() {
50
+ super();
51
+ }
52
+ async modify(originalRequest, createdMessage) {
53
+ try {
54
+ const mentionedFiles = originalRequest.mentionedFiles || [];
55
+ const mentionedFolders = originalRequest.mentionedFolders || [];
56
+ const allMentionedPaths = [...mentionedFiles, ...mentionedFolders];
57
+ if (allMentionedPaths.length === 0) {
58
+ return createdMessage;
59
+ }
60
+ // Read all mentioned files and folders
61
+ const fileResults = [];
62
+ for (const mentionedPath of allMentionedPaths) {
63
+ try {
64
+ const result = await this.resolveAndReadFile(mentionedPath);
65
+ if (result) {
66
+ fileResults.push(result);
67
+ }
68
+ }
69
+ catch (error) {
70
+ fileResults.push({
71
+ path: mentionedPath,
72
+ content: '',
73
+ error: error instanceof Error ? error.message : 'Unknown error'
74
+ });
75
+ }
76
+ }
77
+ if (fileResults.length === 0) {
78
+ return createdMessage;
79
+ }
80
+ // Add file content to the user message
81
+ const fileContentText = this.formatFileContent(fileResults);
82
+ const updatedMessages = this.updateUserMessage(createdMessage.message.messages || [], fileContentText);
83
+ return {
84
+ message: {
85
+ ...createdMessage.message,
86
+ messages: updatedMessages
87
+ },
88
+ metadata: {
89
+ ...createdMessage.metadata,
90
+ mentionedFilesAdded: true,
91
+ resolvedFiles: fileResults.map(f => f.path)
92
+ }
93
+ };
94
+ }
95
+ catch (error) {
96
+ console.error('Error in MentionedFilesModifier:', error);
97
+ return createdMessage;
98
+ }
99
+ }
100
+ /**
101
+ * Resolves and reads a file, handling both files and directories
102
+ */
103
+ async resolveAndReadFile(pathName) {
104
+ try {
105
+ // pathName is already a full absolute path
106
+ const absolutePath = pathName;
107
+ // Get project path for security check and relative path display
108
+ let projectPath;
109
+ try {
110
+ const { projectPath: path } = await codeboltjs_1.default.project.getProjectPath();
111
+ projectPath = path || process.cwd();
112
+ }
113
+ catch (error) {
114
+ projectPath = process.cwd();
115
+ }
116
+ // Check if path is within project (basic security check)
117
+ const relativePath = path.relative(projectPath, absolutePath);
118
+ if (relativePath.startsWith('..')) {
119
+ throw new Error(`Path ${pathName} is outside project directory`);
120
+ }
121
+ const stats = await fs.stat(absolutePath);
122
+ if (stats.isDirectory()) {
123
+ // For directories, list contents
124
+ const files = await fs.readdir(absolutePath);
125
+ const fileList = files.join('\n');
126
+ return {
127
+ path: relativePath || path.basename(pathName),
128
+ content: `Directory contents:\n${fileList}`
129
+ };
130
+ }
131
+ else if (stats.isFile()) {
132
+ // Check file size (limit to reasonable size)
133
+ const maxFileSize = 1024 * 1024; // 1MB
134
+ if (stats.size > maxFileSize) {
135
+ return {
136
+ path: relativePath || path.basename(pathName),
137
+ content: `File too large (${stats.size} bytes). Maximum allowed: ${maxFileSize} bytes.`
138
+ };
139
+ }
140
+ // Read file content
141
+ const content = await fs.readFile(absolutePath, 'utf-8');
142
+ return {
143
+ path: relativePath || path.basename(pathName),
144
+ content
145
+ };
146
+ }
147
+ }
148
+ catch (error) {
149
+ if (error instanceof Error && 'code' in error && error.code === 'ENOENT') {
150
+ // File not found
151
+ return {
152
+ path: pathName,
153
+ content: '',
154
+ error: `File not found: ${pathName}`
155
+ };
156
+ }
157
+ throw error;
158
+ }
159
+ return null;
160
+ }
161
+ /**
162
+ * Formats file content for inclusion in the message
163
+ */
164
+ formatFileContent(fileResults) {
165
+ const contentParts = [];
166
+ contentParts.push('\n--- Content from mentioned files ---');
167
+ for (const result of fileResults) {
168
+ if (result.error) {
169
+ contentParts.push(`\nError reading ${result.path}: ${result.error}`);
170
+ }
171
+ else {
172
+ contentParts.push(`\nContent from ${result.path}:`);
173
+ contentParts.push(result.content);
174
+ }
175
+ }
176
+ return contentParts.join('\n');
177
+ }
178
+ /**
179
+ * Updates the user message with file content
180
+ */
181
+ updateUserMessage(messages, fileContent) {
182
+ const updatedMessages = [...messages];
183
+ // Find the last user message and append file content
184
+ for (let i = updatedMessages.length - 1; i >= 0; i--) {
185
+ if (updatedMessages[i].role === 'user') {
186
+ const currentContent = updatedMessages[i].content;
187
+ if (Array.isArray(currentContent)) {
188
+ // If content is array, add file content as new text element
189
+ updatedMessages[i] = {
190
+ ...updatedMessages[i],
191
+ content: [...currentContent, { type: 'text', text: fileContent }]
192
+ };
193
+ }
194
+ else {
195
+ // If content is string, append file content
196
+ updatedMessages[i] = {
197
+ ...updatedMessages[i],
198
+ content: (currentContent || '') + fileContent
199
+ };
200
+ }
201
+ break;
202
+ }
203
+ }
204
+ return updatedMessages;
205
+ }
206
+ }
207
+ exports.MentionedFilesModifier = MentionedFilesModifier;
@@ -0,0 +1,7 @@
1
+ import { ProcessedMessage } from "@codebolt/types/agent";
2
+ import { BaseMessageModifier } from "../base";
3
+ import { FlatUserMessage } from "@codebolt/types/sdk";
4
+ export declare class SimpleMessageModifier extends BaseMessageModifier {
5
+ constructor();
6
+ modify(originalRequest: FlatUserMessage, createdMessage: ProcessedMessage, context?: Record<string, unknown>): Promise<ProcessedMessage>;
7
+ }
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SimpleMessageModifier = void 0;
4
+ const base_1 = require("../base");
5
+ class SimpleMessageModifier extends base_1.BaseMessageModifier {
6
+ constructor() {
7
+ super();
8
+ }
9
+ modify(originalRequest, createdMessage, context) {
10
+ const contextMessage = {
11
+ role: 'user',
12
+ content: "hi"
13
+ };
14
+ return Promise.resolve({
15
+ message: {
16
+ ...createdMessage.message,
17
+ messages: [...createdMessage.message.messages, contextMessage]
18
+ },
19
+ metadata: {
20
+ ...createdMessage.metadata,
21
+ userMessageAdded: true
22
+ }
23
+ });
24
+ }
25
+ }
26
+ exports.SimpleMessageModifier = SimpleMessageModifier;
@@ -1,4 +1,6 @@
1
- import { BaseMessageModifier, MessageModifierInput, ProcessedMessage } from '../../processor';
1
+ import { ProcessedMessage } from "@codebolt/types/agent";
2
+ import { BaseMessageModifier } from "../base";
3
+ import { FlatUserMessage } from "@codebolt/types/sdk";
2
4
  export interface WorkingDirectoryMessageModifierOptions {
3
5
  showFolderStructureSummary?: boolean;
4
6
  listFiles?: boolean;
@@ -6,6 +8,9 @@ export interface WorkingDirectoryMessageModifierOptions {
6
8
  listFilesLimit?: number;
7
9
  listFilesIgnoreFromGitignore?: boolean;
8
10
  listFilesIgnore?: string[];
11
+ maxItems?: number;
12
+ showFullDirectoryContext?: boolean;
13
+ [key: string]: unknown;
9
14
  }
10
15
  export declare class WorkingDirectoryMessageModifier extends BaseMessageModifier {
11
16
  private readonly showFolderStructureSummary;
@@ -14,9 +19,20 @@ export declare class WorkingDirectoryMessageModifier extends BaseMessageModifier
14
19
  private readonly listFilesLimit;
15
20
  private readonly listFilesIgnoreFromGitignore;
16
21
  private readonly listFilesIgnore;
22
+ private readonly maxItems;
23
+ private readonly showFullDirectoryContext;
24
+ private readonly defaultIgnoredFolders;
25
+ private readonly truncationIndicator;
17
26
  constructor(options?: WorkingDirectoryMessageModifierOptions);
18
- modify(input: MessageModifierInput): Promise<ProcessedMessage>;
27
+ modify(originalRequest: FlatUserMessage, createdMessage: ProcessedMessage): Promise<ProcessedMessage>;
19
28
  private generateFolderStructureSummary;
20
29
  private generateFilesList;
30
+ private collectDirectories;
31
+ private collectFiles;
21
32
  private shouldIgnore;
33
+ private getDirectoryContextString;
34
+ private getFolderStructure;
35
+ private readFullStructure;
36
+ private formatStructure;
37
+ private isTruncated;
22
38
  }