@codebolt/agent 1.2.1 → 2.2.3

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 (285) hide show
  1. package/README.md +157 -66
  2. package/dist/{agent.js → builderpattern/agent.js} +2 -2
  3. package/dist/{followupquestionbuilder.d.ts → builderpattern/followupquestionbuilder.d.ts} +1 -1
  4. package/dist/{followupquestionbuilder.js → builderpattern/followupquestionbuilder.js} +1 -1
  5. package/dist/{index.d.ts → builderpattern/index.d.ts} +3 -3
  6. package/dist/{llmoutputhandler.d.ts → builderpattern/llmoutputhandler.d.ts} +1 -1
  7. package/dist/{llmoutputhandler.js → builderpattern/llmoutputhandler.js} +7 -7
  8. package/dist/{promptbuilder.d.ts → builderpattern/promptbuilder.d.ts} +3 -3
  9. package/dist/{taskInstruction.d.ts → builderpattern/taskInstruction.d.ts} +2 -2
  10. package/dist/{usermessage.d.ts → builderpattern/usermessage.d.ts} +9 -4
  11. package/dist/composablepattern/agent.d.ts +169 -0
  12. package/dist/composablepattern/agent.js +598 -0
  13. package/dist/composablepattern/codebolt-storage.d.ts +67 -0
  14. package/dist/composablepattern/codebolt-storage.js +320 -0
  15. package/dist/composablepattern/document.d.ts +149 -0
  16. package/dist/composablepattern/document.js +372 -0
  17. package/dist/composablepattern/examples/codebolt-integration-example.d.ts +12 -0
  18. package/dist/composablepattern/examples/codebolt-integration-example.js +218 -0
  19. package/dist/composablepattern/examples/codebolt-storage-example.d.ts +40 -0
  20. package/dist/composablepattern/examples/codebolt-storage-example.js +223 -0
  21. package/dist/composablepattern/examples/custom-steps-example.d.ts +20 -0
  22. package/dist/composablepattern/examples/custom-steps-example.js +455 -0
  23. package/dist/composablepattern/examples/document-agent.d.ts +17 -0
  24. package/dist/composablepattern/examples/document-agent.js +107 -0
  25. package/dist/composablepattern/examples/simple-codebolt-integration.d.ts +8 -0
  26. package/dist/composablepattern/examples/simple-codebolt-integration.js +164 -0
  27. package/dist/composablepattern/examples/weather-agent.d.ts +18 -0
  28. package/dist/composablepattern/examples/weather-agent.js +86 -0
  29. package/dist/composablepattern/examples/workflow-example.d.ts +12 -0
  30. package/dist/composablepattern/examples/workflow-example.js +463 -0
  31. package/dist/composablepattern/index.d.ts +63 -0
  32. package/dist/composablepattern/index.js +115 -0
  33. package/dist/composablepattern/memory.d.ts +89 -0
  34. package/dist/composablepattern/memory.js +141 -0
  35. package/dist/composablepattern/tool.d.ts +84 -0
  36. package/dist/composablepattern/tool.js +260 -0
  37. package/dist/composablepattern/types.d.ts +194 -0
  38. package/dist/composablepattern/types.js +6 -0
  39. package/dist/composablepattern/user-context.d.ts +214 -0
  40. package/dist/composablepattern/user-context.js +275 -0
  41. package/dist/composablepattern/workflow.d.ts +388 -0
  42. package/dist/composablepattern/workflow.js +562 -0
  43. package/dist/local-tools/fileTools.d.ts +26 -0
  44. package/dist/local-tools/fileTools.js +162 -0
  45. package/dist/processor/agent/agentStep.d.ts +49 -0
  46. package/dist/processor/agent/agentStep.js +241 -0
  47. package/dist/processor/agent/toolExecutor.d.ts +19 -0
  48. package/dist/processor/agent/toolExecutor.js +90 -0
  49. package/dist/processor/index.d.ts +7 -0
  50. package/dist/processor/index.js +36 -0
  51. package/dist/processor/messageModifiers/baseMessageModifier.d.ts +20 -0
  52. package/dist/processor/messageModifiers/baseMessageModifier.js +55 -0
  53. package/dist/processor/processors/baseProcessor.d.ts +14 -0
  54. package/dist/processor/processors/baseProcessor.js +29 -0
  55. package/dist/processor/tools/baseTool.d.ts +10 -0
  56. package/dist/processor/tools/baseTool.js +20 -0
  57. package/dist/processor/tools/toolList.d.ts +9 -0
  58. package/dist/processor/tools/toolList.js +22 -0
  59. package/dist/processor/types/interfaces.d.ts +117 -0
  60. package/dist/processor/types/interfaces.js +2 -0
  61. package/dist/processor-pieces/additionalModifiers/argumentProcessorModifier.d.ts +13 -0
  62. package/dist/processor-pieces/additionalModifiers/argumentProcessorModifier.js +68 -0
  63. package/dist/processor-pieces/additionalModifiers/atFileProcessorModifier.d.ts +15 -0
  64. package/dist/processor-pieces/additionalModifiers/atFileProcessorModifier.js +212 -0
  65. package/dist/processor-pieces/additionalModifiers/chatCompressionModifier.d.ts +19 -0
  66. package/dist/processor-pieces/additionalModifiers/chatCompressionModifier.js +110 -0
  67. package/dist/processor-pieces/additionalModifiers/chatRecordingModifier.d.ts +23 -0
  68. package/dist/processor-pieces/additionalModifiers/chatRecordingModifier.js +173 -0
  69. package/dist/processor-pieces/additionalModifiers/coreSystemPromptModifier.d.ts +14 -0
  70. package/dist/processor-pieces/additionalModifiers/coreSystemPromptModifier.js +93 -0
  71. package/dist/processor-pieces/additionalModifiers/directoryContextModifier.d.ts +30 -0
  72. package/dist/processor-pieces/additionalModifiers/directoryContextModifier.js +330 -0
  73. package/dist/processor-pieces/additionalModifiers/environmentContextModifier.d.ts +26 -0
  74. package/dist/processor-pieces/additionalModifiers/environmentContextModifier.js +269 -0
  75. package/dist/processor-pieces/additionalModifiers/fallbackHandlerModifier.d.ts +38 -0
  76. package/dist/processor-pieces/additionalModifiers/fallbackHandlerModifier.js +217 -0
  77. package/dist/processor-pieces/additionalModifiers/ideContextModifier.d.ts +34 -0
  78. package/dist/processor-pieces/additionalModifiers/ideContextModifier.js +147 -0
  79. package/dist/processor-pieces/additionalModifiers/index.d.ts +12 -0
  80. package/dist/processor-pieces/additionalModifiers/index.js +28 -0
  81. package/dist/processor-pieces/additionalModifiers/loopDetectionModifier.d.ts +29 -0
  82. package/dist/processor-pieces/additionalModifiers/loopDetectionModifier.js +155 -0
  83. package/dist/processor-pieces/additionalModifiers/memoryImportModifier.d.ts +15 -0
  84. package/dist/processor-pieces/additionalModifiers/memoryImportModifier.js +129 -0
  85. package/dist/processor-pieces/additionalModifiers/shellProcessorModifier.d.ts +25 -0
  86. package/dist/processor-pieces/additionalModifiers/shellProcessorModifier.js +169 -0
  87. package/dist/processor-pieces/additionalModifiers/toolInjectionModifier.d.ts +20 -0
  88. package/dist/processor-pieces/additionalModifiers/toolInjectionModifier.js +152 -0
  89. package/dist/processor-pieces/base/baseMessageModifier.d.ts +12 -0
  90. package/dist/processor-pieces/base/baseMessageModifier.js +15 -0
  91. package/dist/processor-pieces/base/basePostInferenceProcessor.d.ts +13 -0
  92. package/dist/processor-pieces/base/basePostInferenceProcessor.js +18 -0
  93. package/dist/processor-pieces/base/basePostToolCallProcessor.d.ts +15 -0
  94. package/dist/processor-pieces/base/basePostToolCallProcessor.js +25 -0
  95. package/dist/processor-pieces/base/basePreInferenceProcessor.d.ts +12 -0
  96. package/dist/processor-pieces/base/basePreInferenceProcessor.js +17 -0
  97. package/dist/processor-pieces/base/basePreToolCallProcessor.d.ts +18 -0
  98. package/dist/processor-pieces/base/basePreToolCallProcessor.js +66 -0
  99. package/dist/processor-pieces/base/index.d.ts +9 -0
  100. package/dist/processor-pieces/base/index.js +18 -0
  101. package/dist/processor-pieces/index.d.ts +1 -0
  102. package/dist/processor-pieces/index.js +59 -0
  103. package/dist/processor-pieces/messageModifiers/addCurrentDirectoryRootFilesModifier.d.ts +7 -0
  104. package/dist/processor-pieces/messageModifiers/addCurrentDirectoryRootFilesModifier.js +93 -0
  105. package/dist/processor-pieces/messageModifiers/addToolsListMessageModifier.d.ts +31 -0
  106. package/dist/processor-pieces/messageModifiers/addToolsListMessageModifier.js +145 -0
  107. package/dist/processor-pieces/messageModifiers/advancedSystemInstructionMessageModifier.d.ts +9 -0
  108. package/dist/processor-pieces/messageModifiers/advancedSystemInstructionMessageModifier.js +77 -0
  109. package/dist/processor-pieces/messageModifiers/argumentProcessorModifier.d.ts +13 -0
  110. package/dist/processor-pieces/messageModifiers/argumentProcessorModifier.js +68 -0
  111. package/dist/processor-pieces/messageModifiers/atFileProcessorModifier.d.ts +25 -0
  112. package/dist/processor-pieces/messageModifiers/atFileProcessorModifier.js +453 -0
  113. package/dist/processor-pieces/messageModifiers/baseContextMessageModifier.d.ts +7 -0
  114. package/dist/processor-pieces/messageModifiers/baseContextMessageModifier.js +67 -0
  115. package/dist/processor-pieces/messageModifiers/baseSystemInstructionMessageModifier.d.ts +9 -0
  116. package/dist/processor-pieces/messageModifiers/baseSystemInstructionMessageModifier.js +90 -0
  117. package/dist/processor-pieces/messageModifiers/chatCompressionModifier.d.ts +19 -0
  118. package/dist/processor-pieces/messageModifiers/chatCompressionModifier.js +110 -0
  119. package/dist/processor-pieces/messageModifiers/chatHistoryMessageModifier.d.ts +18 -0
  120. package/dist/processor-pieces/messageModifiers/chatHistoryMessageModifier.example.d.ts +20 -0
  121. package/dist/processor-pieces/messageModifiers/chatHistoryMessageModifier.example.js +124 -0
  122. package/dist/processor-pieces/messageModifiers/chatHistoryMessageModifier.js +104 -0
  123. package/dist/processor-pieces/messageModifiers/chatRecordingModifier.d.ts +23 -0
  124. package/dist/processor-pieces/messageModifiers/chatRecordingModifier.js +173 -0
  125. package/dist/processor-pieces/messageModifiers/coreSystemPromptModifier.d.ts +14 -0
  126. package/dist/processor-pieces/messageModifiers/coreSystemPromptModifier.js +130 -0
  127. package/dist/processor-pieces/messageModifiers/directoryContextModifier.d.ts +36 -0
  128. package/dist/processor-pieces/messageModifiers/directoryContextModifier.js +418 -0
  129. package/dist/processor-pieces/messageModifiers/environmentContext.d.ts +41 -0
  130. package/dist/processor-pieces/messageModifiers/environmentContext.js +355 -0
  131. package/dist/processor-pieces/messageModifiers/environmentContextModifier.d.ts +26 -0
  132. package/dist/processor-pieces/messageModifiers/environmentContextModifier.js +260 -0
  133. package/dist/processor-pieces/messageModifiers/handleUrlMessageModifier.d.ts +13 -0
  134. package/dist/processor-pieces/messageModifiers/handleUrlMessageModifier.js +59 -0
  135. package/dist/processor-pieces/messageModifiers/ideContextModifier.d.ts +34 -0
  136. package/dist/processor-pieces/messageModifiers/ideContextModifier.js +157 -0
  137. package/dist/processor-pieces/messageModifiers/imageAttachmentMessageModifier.d.ts +19 -0
  138. package/dist/processor-pieces/messageModifiers/imageAttachmentMessageModifier.js +221 -0
  139. package/dist/processor-pieces/messageModifiers/index.d.ts +11 -0
  140. package/dist/processor-pieces/messageModifiers/index.js +26 -0
  141. package/dist/processor-pieces/messageModifiers/memoryImportModifier.d.ts +15 -0
  142. package/dist/processor-pieces/messageModifiers/memoryImportModifier.js +129 -0
  143. package/dist/processor-pieces/messageModifiers/mentionedFilesModifier.d.ts +23 -0
  144. package/dist/processor-pieces/messageModifiers/mentionedFilesModifier.js +207 -0
  145. package/dist/processor-pieces/messageModifiers/simpleMessageModifier.d.ts +7 -0
  146. package/dist/processor-pieces/messageModifiers/simpleMessageModifier.js +26 -0
  147. package/dist/processor-pieces/messageModifiers/toolInjectionModifier.d.ts +20 -0
  148. package/dist/processor-pieces/messageModifiers/toolInjectionModifier.js +152 -0
  149. package/dist/processor-pieces/messageModifiers/workingDirectoryMessageModifier.d.ts +38 -0
  150. package/dist/processor-pieces/messageModifiers/workingDirectoryMessageModifier.js +392 -0
  151. package/dist/processor-pieces/postInference/llmOutputValidityProcessor.d.ts +1 -0
  152. package/dist/processor-pieces/postInference/llmOutputValidityProcessor.js +2 -0
  153. package/dist/processor-pieces/postInferenceProcessors/checkForNoToolCall.d.ts +7 -0
  154. package/dist/processor-pieces/postInferenceProcessors/checkForNoToolCall.js +24 -0
  155. package/dist/processor-pieces/postInferenceProcessors/loopDetectionModifier.d.ts +29 -0
  156. package/dist/processor-pieces/postInferenceProcessors/loopDetectionModifier.js +174 -0
  157. package/dist/processor-pieces/postToolCall/advancedLoopDetectionProcessor.d.ts +41 -0
  158. package/dist/processor-pieces/postToolCall/advancedLoopDetectionProcessor.js +197 -0
  159. package/dist/processor-pieces/postToolCall/chatCompressionProcessor.d.ts +26 -0
  160. package/dist/processor-pieces/postToolCall/chatCompressionProcessor.js +90 -0
  161. package/dist/processor-pieces/postToolCall/chatRecordingProcessor.d.ts +81 -0
  162. package/dist/processor-pieces/postToolCall/chatRecordingProcessor.js +329 -0
  163. package/dist/processor-pieces/postToolCall/contextManagementProcessor.d.ts +40 -0
  164. package/dist/processor-pieces/postToolCall/contextManagementProcessor.js +272 -0
  165. package/dist/processor-pieces/postToolCall/conversationCompactorProcessor.d.ts +49 -0
  166. package/dist/processor-pieces/postToolCall/conversationCompactorProcessor.js +291 -0
  167. package/dist/processor-pieces/postToolCall/conversationContinuityProcessor.d.ts +49 -0
  168. package/dist/processor-pieces/postToolCall/conversationContinuityProcessor.js +293 -0
  169. package/dist/processor-pieces/postToolCall/followUpConversationProcessor.d.ts +47 -0
  170. package/dist/processor-pieces/postToolCall/followUpConversationProcessor.js +249 -0
  171. package/dist/processor-pieces/postToolCall/loopDetectionProcessor.d.ts +30 -0
  172. package/dist/processor-pieces/postToolCall/loopDetectionProcessor.js +137 -0
  173. package/dist/processor-pieces/postToolCall/responseValidationProcessor.d.ts +30 -0
  174. package/dist/processor-pieces/postToolCall/responseValidationProcessor.js +228 -0
  175. package/dist/processor-pieces/postToolCall/telemetryProcessor.d.ts +99 -0
  176. package/dist/processor-pieces/postToolCall/telemetryProcessor.js +278 -0
  177. package/dist/processor-pieces/postToolCall/tokenManagementProcessor.d.ts +37 -0
  178. package/dist/processor-pieces/postToolCall/tokenManagementProcessor.js +178 -0
  179. package/dist/processor-pieces/postToolCall/toolExecutionProcessor.d.ts +43 -0
  180. package/dist/processor-pieces/postToolCall/toolExecutionProcessor.js +207 -0
  181. package/dist/processor-pieces/postToolCallProcessors/index.d.ts +1 -0
  182. package/dist/processor-pieces/postToolCallProcessors/index.js +2 -0
  183. package/dist/processor-pieces/postToolCallProcessors/shellProcessorModifier.d.ts +25 -0
  184. package/dist/processor-pieces/postToolCallProcessors/shellProcessorModifier.js +225 -0
  185. package/dist/processor-pieces/preInference/conversationCompactorProcessor.d.ts +52 -0
  186. package/dist/processor-pieces/preInference/conversationCompactorProcessor.js +264 -0
  187. package/dist/processor-pieces/preInference/conversationContinuityProcessor.d.ts +49 -0
  188. package/dist/processor-pieces/preInference/conversationContinuityProcessor.js +293 -0
  189. package/dist/processor-pieces/preInferenceProcessors/chatCompressionModifier.d.ts +35 -0
  190. package/dist/processor-pieces/preInferenceProcessors/chatCompressionModifier.js +255 -0
  191. package/dist/processor-pieces/preInferenceProcessors/conversationCompaction.d.ts +7 -0
  192. package/dist/processor-pieces/preInferenceProcessors/conversationCompaction.js +31 -0
  193. package/dist/processor-pieces/preInferenceProcessors/index.d.ts +1 -0
  194. package/dist/processor-pieces/preInferenceProcessors/index.js +2 -0
  195. package/dist/processor-pieces/preToolCall/index.d.ts +9 -0
  196. package/dist/processor-pieces/preToolCall/index.js +18 -0
  197. package/dist/processor-pieces/preToolCall/localToolInterceptorProcessor.d.ts +58 -0
  198. package/dist/processor-pieces/preToolCall/localToolInterceptorProcessor.js +444 -0
  199. package/dist/processor-pieces/preToolCall/toolParameterModifierProcessor.d.ts +44 -0
  200. package/dist/processor-pieces/preToolCall/toolParameterModifierProcessor.js +367 -0
  201. package/dist/processor-pieces/preToolCall/toolValidationProcessor.d.ts +58 -0
  202. package/dist/processor-pieces/preToolCall/toolValidationProcessor.js +391 -0
  203. package/dist/processor-pieces/pretoolCallProcessors/index.d.ts +1 -0
  204. package/dist/processor-pieces/pretoolCallProcessors/index.js +2 -0
  205. package/dist/processor-pieces/processors/advancedLoopDetectionProcessor.d.ts +41 -0
  206. package/dist/processor-pieces/processors/advancedLoopDetectionProcessor.js +197 -0
  207. package/dist/processor-pieces/processors/chatCompressionProcessor.d.ts +26 -0
  208. package/dist/processor-pieces/processors/chatCompressionProcessor.js +90 -0
  209. package/dist/processor-pieces/processors/chatRecordingProcessor.d.ts +81 -0
  210. package/dist/processor-pieces/processors/chatRecordingProcessor.js +329 -0
  211. package/dist/processor-pieces/processors/contextManagementProcessor.d.ts +40 -0
  212. package/dist/processor-pieces/processors/contextManagementProcessor.js +305 -0
  213. package/dist/processor-pieces/processors/loopDetectionProcessor.d.ts +30 -0
  214. package/dist/processor-pieces/processors/loopDetectionProcessor.js +137 -0
  215. package/dist/processor-pieces/processors/responseValidationProcessor.d.ts +30 -0
  216. package/dist/processor-pieces/processors/responseValidationProcessor.js +228 -0
  217. package/dist/processor-pieces/processors/telemetryProcessor.d.ts +99 -0
  218. package/dist/processor-pieces/processors/telemetryProcessor.js +311 -0
  219. package/dist/processor-pieces/processors/tokenManagementProcessor.d.ts +37 -0
  220. package/dist/processor-pieces/processors/tokenManagementProcessor.js +178 -0
  221. package/dist/processor-pieces/processors/toolExecutionProcessor.d.ts +43 -0
  222. package/dist/processor-pieces/processors/toolExecutionProcessor.js +207 -0
  223. package/dist/processor-pieces/tools/fileTools.d.ts +26 -0
  224. package/dist/processor-pieces/tools/fileTools.js +162 -0
  225. package/dist/processor-pieces/utils/messageModifierHelper.d.ts +4 -0
  226. package/dist/processor-pieces/utils/messageModifierHelper.js +58 -0
  227. package/dist/types/commonTypes.d.ts +4 -0
  228. package/dist/types/processorTypes.d.ts +67 -0
  229. package/dist/types/processorTypes.js +58 -0
  230. package/dist/unified/agent/agent.d.ts +17 -0
  231. package/dist/unified/agent/agent.js +79 -0
  232. package/dist/unified/agent/team.d.ts +2 -0
  233. package/dist/unified/agent/team.js +6 -0
  234. package/dist/unified/agent/tool.d.ts +99 -0
  235. package/dist/unified/agent/tool.js +440 -0
  236. package/dist/unified/agent/tools.d.ts +44 -0
  237. package/dist/unified/agent/tools.js +487 -0
  238. package/dist/unified/agent/workflow.d.ts +24 -0
  239. package/dist/unified/agent/workflow.js +275 -0
  240. package/dist/unified/agent/workflowControls.d.ts +11 -0
  241. package/dist/unified/agent/workflowControls.js +20 -0
  242. package/dist/unified/agent/workflowSteps.d.ts +63 -0
  243. package/dist/unified/agent/workflowSteps.js +284 -0
  244. package/dist/unified/base/agentStep.d.ts +32 -0
  245. package/dist/unified/base/agentStep.js +96 -0
  246. package/dist/unified/base/create/createInitialPromptGenerators.d.ts +5 -0
  247. package/dist/unified/base/create/createInitialPromptGenerators.js +17 -0
  248. package/dist/unified/base/index.d.ts +5 -0
  249. package/dist/unified/base/index.js +13 -0
  250. package/dist/unified/base/initialPromptGenerator.d.ts +48 -0
  251. package/dist/unified/base/initialPromptGenerator.js +118 -0
  252. package/dist/unified/base/responseExecutor.d.ts +36 -0
  253. package/dist/unified/base/responseExecutor.js +283 -0
  254. package/dist/unified/examples/agentExample.d.ts +46 -0
  255. package/dist/unified/examples/agentExample.js +464 -0
  256. package/dist/unified/examples/documentationPatternExample.d.ts +10 -0
  257. package/dist/unified/examples/documentationPatternExample.js +385 -0
  258. package/dist/unified/examples/followUpProcessorsExample.d.ts +45 -0
  259. package/dist/unified/examples/followUpProcessorsExample.js +311 -0
  260. package/dist/unified/examples/orchestratorExample.d.ts +16 -0
  261. package/dist/unified/examples/orchestratorExample.js +415 -0
  262. package/dist/unified/examples/preToolCallProcessorsExample.d.ts +36 -0
  263. package/dist/unified/examples/preToolCallProcessorsExample.js +458 -0
  264. package/dist/unified/examples/workflowExample.d.ts +12 -0
  265. package/dist/unified/examples/workflowExample.js +497 -0
  266. package/dist/unified/index.d.ts +18 -0
  267. package/dist/unified/index.js +42 -0
  268. package/dist/unified/orchestrator/orchestrator.d.ts +260 -0
  269. package/dist/unified/orchestrator/orchestrator.js +519 -0
  270. package/dist/unified/team/team.d.ts +1 -0
  271. package/dist/unified/team/team.js +2 -0
  272. package/dist/unified/types/libTypes.d.ts +378 -0
  273. package/dist/unified/types/libTypes.js +6 -0
  274. package/dist/unified/types/types.d.ts +212 -0
  275. package/dist/unified/types/types.js +43 -0
  276. package/dist/unified/utils/utils.d.ts +40 -0
  277. package/dist/unified/utils/utils.js +219 -0
  278. package/package.json +35 -13
  279. /package/dist/{agent.d.ts → builderpattern/agent.d.ts} +0 -0
  280. /package/dist/{index.js → builderpattern/index.js} +0 -0
  281. /package/dist/{promptbuilder.js → builderpattern/promptbuilder.js} +0 -0
  282. /package/dist/{systemprompt.d.ts → builderpattern/systemprompt.d.ts} +0 -0
  283. /package/dist/{systemprompt.js → builderpattern/systemprompt.js} +0 -0
  284. /package/dist/{taskInstruction.js → builderpattern/taskInstruction.js} +0 -0
  285. /package/dist/{usermessage.js → builderpattern/usermessage.js} +0 -0
@@ -0,0 +1,55 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RequestMessage = exports.BaseMessageModifier = void 0;
4
+ class BaseMessageModifier {
5
+ constructor(options = {}) {
6
+ this.context = {};
7
+ this.context = options.context || {};
8
+ }
9
+ setContext(key, value) {
10
+ this.context[key] = value;
11
+ }
12
+ getContext(key) {
13
+ return this.context[key];
14
+ }
15
+ clearContext() {
16
+ this.context = {};
17
+ }
18
+ }
19
+ exports.BaseMessageModifier = BaseMessageModifier;
20
+ // New RequestMessage class that can chain multiple modifiers
21
+ class RequestMessage {
22
+ constructor(options = {}) {
23
+ this.messageModifiers = [];
24
+ this.messageModifiers = options.messageModifiers || [];
25
+ }
26
+ addModifier(modifier) {
27
+ this.messageModifiers.push(modifier);
28
+ }
29
+ async modify(message) {
30
+ let currentMessage = {
31
+ messages: [
32
+ {
33
+ role: 'user',
34
+ content: typeof message === 'string' ? message : JSON.stringify(message)
35
+ }
36
+ ]
37
+ };
38
+ // Apply each modifier in sequence
39
+ for (const modifier of this.messageModifiers) {
40
+ try {
41
+ currentMessage = await modifier.modify({
42
+ originalRequest: message,
43
+ createdMessage: currentMessage,
44
+ context: {}
45
+ });
46
+ }
47
+ catch (error) {
48
+ console.error('Error applying message modifier:', error);
49
+ // Continue with other modifiers
50
+ }
51
+ }
52
+ return currentMessage;
53
+ }
54
+ }
55
+ exports.RequestMessage = RequestMessage;
@@ -0,0 +1,14 @@
1
+ import { Processor, ProcessorInput, ProcessorOutput } from '../types/interfaces';
2
+ export declare abstract class BaseProcessor implements Processor {
3
+ protected context: Record<string, any>;
4
+ constructor(options?: Record<string, any>);
5
+ abstract processInput(input: ProcessorInput): Promise<ProcessorOutput[]>;
6
+ setContext(key: string, value: any): void;
7
+ getContext(key: string): any;
8
+ clearContext(): void;
9
+ protected createEvent(type: string, value?: any): ProcessorOutput;
10
+ protected createEvents(...events: Array<{
11
+ type: string;
12
+ value?: any;
13
+ }>): ProcessorOutput[];
14
+ }
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BaseProcessor = void 0;
4
+ class BaseProcessor {
5
+ constructor(options) {
6
+ this.context = {};
7
+ if (options) {
8
+ this.context = { ...options };
9
+ }
10
+ }
11
+ setContext(key, value) {
12
+ this.context[key] = value;
13
+ }
14
+ getContext(key) {
15
+ return this.context[key];
16
+ }
17
+ clearContext() {
18
+ this.context = {};
19
+ }
20
+ // Helper method to create events
21
+ createEvent(type, value) {
22
+ return { type, value };
23
+ }
24
+ // Helper method to create multiple events
25
+ createEvents(...events) {
26
+ return events.map(event => this.createEvent(event.type, event.value));
27
+ }
28
+ }
29
+ exports.BaseProcessor = BaseProcessor;
@@ -0,0 +1,10 @@
1
+ import { Tool } from '../types/interfaces';
2
+ export declare abstract class BaseTool implements Tool {
3
+ readonly name: string;
4
+ readonly description: string;
5
+ readonly parameters: Record<string, any>;
6
+ constructor(name: string, description: string, parameters: Record<string, any>);
7
+ abstract execute(params: any, abortSignal?: AbortSignal): Promise<any>;
8
+ protected checkAbortSignal(abortSignal?: AbortSignal): void;
9
+ protected validateParameters(params: any): boolean;
10
+ }
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BaseTool = void 0;
4
+ class BaseTool {
5
+ constructor(name, description, parameters) {
6
+ this.name = name;
7
+ this.description = description;
8
+ this.parameters = parameters;
9
+ }
10
+ checkAbortSignal(abortSignal) {
11
+ if (abortSignal === null || abortSignal === void 0 ? void 0 : abortSignal.aborted) {
12
+ throw new Error('Operation was aborted');
13
+ }
14
+ }
15
+ validateParameters(params) {
16
+ // Basic validation - can be overridden by subclasses
17
+ return params && typeof params === 'object';
18
+ }
19
+ }
20
+ exports.BaseTool = BaseTool;
@@ -0,0 +1,9 @@
1
+ import { ToolList as IToolList, Tool } from '../types/interfaces';
2
+ export declare class ToolList implements IToolList {
3
+ private tools;
4
+ constructor(tools?: Tool[]);
5
+ getTool(name: string): Tool | undefined;
6
+ getAllTools(): Tool[];
7
+ addTool(tool: Tool): void;
8
+ removeTool(name: string): void;
9
+ }
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ToolList = void 0;
4
+ class ToolList {
5
+ constructor(tools = []) {
6
+ this.tools = new Map();
7
+ tools.forEach(tool => this.addTool(tool));
8
+ }
9
+ getTool(name) {
10
+ return this.tools.get(name);
11
+ }
12
+ getAllTools() {
13
+ return Array.from(this.tools.values());
14
+ }
15
+ addTool(tool) {
16
+ this.tools.set(tool.name, tool);
17
+ }
18
+ removeTool(name) {
19
+ this.tools.delete(name);
20
+ }
21
+ }
22
+ exports.ToolList = ToolList;
@@ -0,0 +1,117 @@
1
+ import type { FlatUserMessage } from '@codebolt/types';
2
+ export interface ToolCall {
3
+ /** Unique identifier for this tool call */
4
+ id: string;
5
+ /** The type of tool call */
6
+ type: 'function';
7
+ /** Function call details */
8
+ function: {
9
+ /** Name of the function to call */
10
+ name: string;
11
+ /** Arguments for the function call as JSON string */
12
+ arguments: string;
13
+ };
14
+ }
15
+ export interface Message {
16
+ /** Role of the message sender */
17
+ role: 'system' | 'user' | 'assistant' | 'tool';
18
+ /** Content of the message */
19
+ content: string | Array<{
20
+ type: string;
21
+ text: string;
22
+ }>;
23
+ /** Optional name for the message sender */
24
+ name?: string;
25
+ /** Tool call ID for tool messages */
26
+ tool_call_id?: string;
27
+ /** Tool calls for assistant messages */
28
+ tool_calls?: Array<{
29
+ id: string;
30
+ type: 'function';
31
+ function: {
32
+ name: string;
33
+ arguments: string;
34
+ };
35
+ }>;
36
+ }
37
+ export interface ProcessedMessage {
38
+ /** Array of messages in OpenAI format */
39
+ messages: Message[];
40
+ /** Optional metadata about the processing */
41
+ metadata?: Record<string, unknown>;
42
+ }
43
+ export interface ProcessorInput {
44
+ message: ProcessedMessage;
45
+ context?: Record<string, unknown>;
46
+ }
47
+ export interface ProcessorOutput {
48
+ type: string;
49
+ value?: unknown;
50
+ }
51
+ export interface Processor {
52
+ processInput(input: ProcessorInput): Promise<ProcessorOutput[]>;
53
+ setContext(key: string, value: unknown): void;
54
+ getContext(key: string): unknown;
55
+ clearContext(): void;
56
+ }
57
+ export interface MessageModifierInput {
58
+ originalRequest: FlatUserMessage;
59
+ createdMessage: ProcessedMessage;
60
+ context?: Record<string, unknown>;
61
+ }
62
+ export interface MessageModifier {
63
+ modify(input: MessageModifierInput): Promise<ProcessedMessage>;
64
+ setContext(key: string, value: unknown): void;
65
+ getContext(key: string): unknown;
66
+ clearContext(): void;
67
+ }
68
+ export interface Tool {
69
+ name: string;
70
+ description: string;
71
+ parameters: Record<string, unknown>;
72
+ execute(params: unknown, abortSignal?: AbortSignal): Promise<unknown>;
73
+ }
74
+ export interface ToolList {
75
+ getTool(name: string): Tool | undefined;
76
+ getAllTools(): Tool[];
77
+ addTool(tool: Tool): void;
78
+ removeTool(name: string): void;
79
+ }
80
+ export interface AgentStepInput {
81
+ message: ProcessedMessage;
82
+ tools: Tool[];
83
+ context?: Record<string, unknown>;
84
+ }
85
+ export interface AgentStepOutput {
86
+ response: ProcessedMessage;
87
+ toolCalls?: Array<{
88
+ tool: string;
89
+ parameters: unknown;
90
+ }>;
91
+ finished: boolean;
92
+ }
93
+ export interface IAgentStep {
94
+ generateOneStep(input: AgentStepInput): Promise<AgentStepOutput>;
95
+ generateWithToolExecution(input: AgentStepInput): Promise<AgentStepOutput>;
96
+ loop(input: AgentStepInput, maxIterations?: number): Promise<AgentStepOutput>;
97
+ }
98
+ export interface ToolExecutionInput {
99
+ toolCalls: Array<{
100
+ tool: string;
101
+ parameters: unknown;
102
+ }>;
103
+ tools: ToolList;
104
+ context?: Record<string, unknown>;
105
+ }
106
+ export interface ToolExecutionOutput {
107
+ results: Array<{
108
+ tool: string;
109
+ result: unknown;
110
+ error?: string;
111
+ }>;
112
+ success: boolean;
113
+ }
114
+ export interface ToolExecutor {
115
+ executeTools(input: ToolExecutionInput): Promise<ToolExecutionOutput>;
116
+ }
117
+ export type AgentEventType = 'content' | 'tool_call_request' | 'tool_call_response' | 'tool_call_confirmation' | 'user_cancelled' | 'error' | 'chat_compressed' | 'thought' | 'max_session_turns' | 'finished' | 'loop_detected';
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,13 @@
1
+ import { ProcessedMessage } from "@codebolt/types/agent";
2
+ import { BaseMessageModifier } from "../base";
3
+ import { FlatUserMessage } from "@codebolt/types/sdk";
4
+ export interface ArgumentProcessorOptions {
5
+ appendRawInvocation?: boolean;
6
+ argumentSeparator?: string;
7
+ includeCommandName?: boolean;
8
+ }
9
+ export declare class ArgumentProcessorModifier extends BaseMessageModifier {
10
+ private readonly options;
11
+ constructor(options?: ArgumentProcessorOptions);
12
+ modify(originalRequest: FlatUserMessage, createdMessage: ProcessedMessage): Promise<ProcessedMessage>;
13
+ }
@@ -0,0 +1,68 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ArgumentProcessorModifier = void 0;
4
+ const base_1 = require("../base");
5
+ class ArgumentProcessorModifier extends base_1.BaseMessageModifier {
6
+ constructor(options = {}) {
7
+ super();
8
+ this.options = {
9
+ appendRawInvocation: options.appendRawInvocation !== false,
10
+ argumentSeparator: options.argumentSeparator || ' ',
11
+ includeCommandName: options.includeCommandName || false
12
+ };
13
+ }
14
+ modify(originalRequest, createdMessage) {
15
+ var _a;
16
+ try {
17
+ // Get arguments from metadata
18
+ const invocation = (_a = createdMessage.metadata) === null || _a === void 0 ? void 0 : _a.invocation;
19
+ if (!(invocation === null || invocation === void 0 ? void 0 : invocation.args)) {
20
+ return Promise.resolve(createdMessage);
21
+ }
22
+ // Find the user message to append arguments to
23
+ const userMessage = createdMessage.message.messages.find(msg => msg.role === 'user');
24
+ if (!userMessage || typeof userMessage.content !== 'string') {
25
+ return Promise.resolve(createdMessage);
26
+ }
27
+ let appendContent = '';
28
+ if (this.options.appendRawInvocation && invocation.raw) {
29
+ // Append the full raw command invocation
30
+ appendContent = `\n\nFull command: ${invocation.raw}`;
31
+ }
32
+ else {
33
+ // Append just the arguments
34
+ let argsToAppend = invocation.args;
35
+ if (this.options.includeCommandName && invocation.name) {
36
+ argsToAppend = `${invocation.name}${this.options.argumentSeparator}${argsToAppend}`;
37
+ }
38
+ appendContent = `\n\nArguments: ${argsToAppend}`;
39
+ }
40
+ // Update the user message with appended arguments
41
+ const updatedMessages = createdMessage.message.messages.map(msg => {
42
+ if (msg.role === 'user' && typeof msg.content === 'string' && msg === userMessage) {
43
+ return {
44
+ ...msg,
45
+ content: msg.content + appendContent
46
+ };
47
+ }
48
+ return msg;
49
+ });
50
+ return Promise.resolve({
51
+ message: {
52
+ ...createdMessage.message,
53
+ messages: updatedMessages
54
+ },
55
+ metadata: {
56
+ ...createdMessage.metadata,
57
+ argumentsProcessed: true,
58
+ argumentsAppended: appendContent.trim()
59
+ }
60
+ });
61
+ }
62
+ catch (error) {
63
+ console.error('Error in ArgumentProcessorModifier:', error);
64
+ return Promise.resolve(createdMessage);
65
+ }
66
+ }
67
+ }
68
+ exports.ArgumentProcessorModifier = ArgumentProcessorModifier;
@@ -0,0 +1,15 @@
1
+ import { ProcessedMessage } from "@codebolt/types/agent";
2
+ import { BaseMessageModifier } from "../base";
3
+ import { FlatUserMessage } from "@codebolt/types/sdk";
4
+ export interface AtFileProcessorOptions {
5
+ maxFileSize?: number;
6
+ allowedExtensions?: string[];
7
+ basePath?: string;
8
+ }
9
+ export declare class AtFileProcessorModifier extends BaseMessageModifier {
10
+ private readonly options;
11
+ constructor(options?: AtFileProcessorOptions);
12
+ modify(originalRequest: FlatUserMessage, createdMessage: ProcessedMessage): Promise<ProcessedMessage>;
13
+ private readFileContent;
14
+ private getFolderStructure;
15
+ }
@@ -0,0 +1,212 @@
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
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.AtFileProcessorModifier = void 0;
37
+ const base_1 = require("../base");
38
+ const fs = __importStar(require("fs"));
39
+ const path = __importStar(require("path"));
40
+ class AtFileProcessorModifier extends base_1.BaseMessageModifier {
41
+ constructor(options = {}) {
42
+ super();
43
+ this.options = {
44
+ maxFileSize: options.maxFileSize || 1024 * 1024, // 1MB default
45
+ allowedExtensions: options.allowedExtensions || ['.ts', '.js', '.json', '.md', '.txt', '.yml', '.yaml', '.xml', '.html', '.css', '.py', '.java', '.cpp', '.c', '.h'],
46
+ basePath: options.basePath || process.cwd()
47
+ };
48
+ }
49
+ async modify(originalRequest, createdMessage) {
50
+ try {
51
+ const mentionedFiles = originalRequest.mentionedFiles || [];
52
+ const mentionedFolders = originalRequest.mentionedFolders || [];
53
+ if (mentionedFiles.length === 0 && mentionedFolders.length === 0) {
54
+ return createdMessage;
55
+ }
56
+ const contextParts = [];
57
+ // Process mentioned files
58
+ if (mentionedFiles.length > 0) {
59
+ const fileContents = await Promise.all(mentionedFiles.map(async (filePath) => {
60
+ try {
61
+ const content = await this.readFileContent(filePath);
62
+ return `--- Content from ${filePath} ---\n${content}\n--- End of ${filePath} ---`;
63
+ }
64
+ catch (error) {
65
+ const errorMessage = error instanceof Error ? error.message : 'Unknown error';
66
+ return `[Error loading ${filePath}: ${errorMessage}]`;
67
+ }
68
+ }));
69
+ contextParts.push(`File Contents:\n${fileContents.join('\n\n')}`);
70
+ }
71
+ // Process mentioned folders
72
+ if (mentionedFolders.length > 0) {
73
+ const folderContents = await Promise.all(mentionedFolders.map(async (folderPath) => {
74
+ try {
75
+ const structure = await this.getFolderStructure(folderPath);
76
+ return `--- Structure of ${folderPath} ---\n${structure}\n--- End of ${folderPath} ---`;
77
+ }
78
+ catch (error) {
79
+ const errorMessage = error instanceof Error ? error.message : 'Unknown error';
80
+ return `[Error reading folder ${folderPath}: ${errorMessage}]`;
81
+ }
82
+ }));
83
+ contextParts.push(`Folder Structures:\n${folderContents.join('\n\n')}`);
84
+ }
85
+ // Find the last user message and append context to it
86
+ const messages = [...createdMessage.message.messages];
87
+ let lastUserMessageIndex = -1;
88
+ for (let i = messages.length - 1; i >= 0; i--) {
89
+ if (messages[i].role === 'user') {
90
+ lastUserMessageIndex = i;
91
+ break;
92
+ }
93
+ }
94
+ if (lastUserMessageIndex !== -1) {
95
+ const lastUserMessage = messages[lastUserMessageIndex];
96
+ const currentContent = Array.isArray(lastUserMessage.content)
97
+ ? lastUserMessage.content
98
+ : [{ type: 'text', text: lastUserMessage.content }];
99
+ // Add context as additional content parts
100
+ const contextContent = {
101
+ type: 'text',
102
+ text: contextParts.join('\n\n')
103
+ };
104
+ messages[lastUserMessageIndex] = {
105
+ ...lastUserMessage,
106
+ content: [...currentContent, contextContent]
107
+ };
108
+ }
109
+ return Promise.resolve({
110
+ message: {
111
+ ...createdMessage.message,
112
+ messages
113
+ },
114
+ metadata: {
115
+ ...createdMessage.metadata,
116
+ atFileProcessed: true,
117
+ processedFiles: mentionedFiles,
118
+ processedFolders: mentionedFolders
119
+ }
120
+ });
121
+ }
122
+ catch (error) {
123
+ console.error('Error in AtFileProcessorModifier:', error);
124
+ return createdMessage;
125
+ }
126
+ }
127
+ async readFileContent(filePath) {
128
+ // Resolve path relative to base path
129
+ const resolvedPath = path.isAbsolute(filePath) ? filePath : path.resolve(this.options.basePath, filePath);
130
+ // Security check: ensure the file is within allowed directory
131
+ const relativePath = path.relative(this.options.basePath, resolvedPath);
132
+ if (relativePath.startsWith('..')) {
133
+ throw new Error(`Access denied: ${filePath} is outside the allowed directory`);
134
+ }
135
+ // Check if file exists
136
+ try {
137
+ await fs.promises.access(resolvedPath, fs.constants.R_OK);
138
+ }
139
+ catch (error) {
140
+ throw new Error(`File not found or not readable: ${filePath}`);
141
+ }
142
+ // Check file size
143
+ const stats = await fs.promises.stat(resolvedPath);
144
+ if (stats.size > this.options.maxFileSize) {
145
+ throw new Error(`File too large: ${filePath} (${stats.size} bytes, max ${this.options.maxFileSize} bytes)`);
146
+ }
147
+ // Check file extension if allowedExtensions is specified
148
+ if (this.options.allowedExtensions.length > 0) {
149
+ const ext = path.extname(resolvedPath).toLowerCase();
150
+ if (!this.options.allowedExtensions.includes(ext)) {
151
+ throw new Error(`File type not allowed: ${ext}`);
152
+ }
153
+ }
154
+ // Read and return file content
155
+ const content = await fs.promises.readFile(resolvedPath, 'utf-8');
156
+ return content;
157
+ }
158
+ async getFolderStructure(folderPath) {
159
+ // Resolve path relative to base path
160
+ const resolvedPath = path.isAbsolute(folderPath) ? folderPath : path.resolve(this.options.basePath, folderPath);
161
+ // Security check: ensure the folder is within allowed directory
162
+ const relativePath = path.relative(this.options.basePath, resolvedPath);
163
+ if (relativePath.startsWith('..')) {
164
+ throw new Error(`Access denied: ${folderPath} is outside the allowed directory`);
165
+ }
166
+ // Check if folder exists and is readable
167
+ try {
168
+ await fs.promises.access(resolvedPath, fs.constants.R_OK);
169
+ const stats = await fs.promises.stat(resolvedPath);
170
+ if (!stats.isDirectory()) {
171
+ throw new Error(`${folderPath} is not a directory`);
172
+ }
173
+ }
174
+ catch (error) {
175
+ throw new Error(`Folder not found or not readable: ${folderPath}`);
176
+ }
177
+ // Read directory structure
178
+ try {
179
+ const entries = await fs.promises.readdir(resolvedPath, { withFileTypes: true });
180
+ const lines = [];
181
+ // Sort entries: directories first, then files
182
+ const sortedEntries = entries.sort((a, b) => {
183
+ if (a.isDirectory() && !b.isDirectory())
184
+ return -1;
185
+ if (!a.isDirectory() && b.isDirectory())
186
+ return 1;
187
+ return a.name.localeCompare(b.name);
188
+ });
189
+ for (const entry of sortedEntries.slice(0, 50)) { // Limit to 50 entries
190
+ if (entry.name.startsWith('.'))
191
+ continue; // Skip hidden files
192
+ if (entry.isDirectory()) {
193
+ lines.push(`${folderPath}/${entry.name}/`);
194
+ }
195
+ else {
196
+ const filePath = path.join(resolvedPath, entry.name);
197
+ const stats = await fs.promises.stat(filePath);
198
+ const size = stats.size < 1024 ? `${stats.size}B` : `${Math.round(stats.size / 1024)}KB`;
199
+ lines.push(`${folderPath}/${entry.name} (${size})`);
200
+ }
201
+ }
202
+ if (entries.length > 50) {
203
+ lines.push(`... and ${entries.length - 50} more items`);
204
+ }
205
+ return lines.join('\n');
206
+ }
207
+ catch (error) {
208
+ throw new Error(`Error reading folder structure: ${error instanceof Error ? error.message : 'unknown error'}`);
209
+ }
210
+ }
211
+ }
212
+ exports.AtFileProcessorModifier = AtFileProcessorModifier;
@@ -0,0 +1,19 @@
1
+ import { ProcessedMessage } from "@codebolt/types/agent";
2
+ import { BaseMessageModifier } from "../base";
3
+ import { FlatUserMessage } from "@codebolt/types/sdk";
4
+ export interface ChatCompressionOptions {
5
+ tokenThreshold?: number;
6
+ compressionRatio?: number;
7
+ preserveRecentMessages?: number;
8
+ enableCompression?: boolean;
9
+ }
10
+ export declare class ChatCompressionModifier extends BaseMessageModifier {
11
+ private readonly options;
12
+ private hasFailedCompressionAttempt;
13
+ constructor(options?: ChatCompressionOptions);
14
+ modify(originalRequest: FlatUserMessage, createdMessage: ProcessedMessage): Promise<ProcessedMessage>;
15
+ private shouldCompressChat;
16
+ private compressMessages;
17
+ private createConversationSummary;
18
+ resetCompressionState(): void;
19
+ }