@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,66 @@
1
+ "use strict";
2
+ /**
3
+ * Base Pre-Tool Call Processor Class
4
+ * Abstract base class for all pre-tool call processors
5
+ * These are called before the Tool Call
6
+ * Used to check if the Tool Call is proper and handle Local Tool Interceptor
7
+ */
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.BasePreToolCallProcessor = void 0;
10
+ class BasePreToolCallProcessor {
11
+ constructor() {
12
+ this.context = {};
13
+ // this.context = options.context || {};
14
+ }
15
+ // Optional tool interceptor method
16
+ async interceptTool(_toolName, _toolInput) {
17
+ return false; // Default: don't intercept
18
+ }
19
+ setContext(key, value) {
20
+ this.context[key] = value;
21
+ }
22
+ getContext(key) {
23
+ return this.context[key];
24
+ }
25
+ clearContext() {
26
+ this.context = {};
27
+ }
28
+ // Helper method to create intercepted tool result
29
+ createInterceptedTool(toolName, originalInput, result, reason) {
30
+ return {
31
+ toolName,
32
+ originalInput,
33
+ result,
34
+ intercepted: true,
35
+ reason,
36
+ };
37
+ }
38
+ // Helper method to validate tool call
39
+ validateToolCall(toolCall, validationRules) {
40
+ const errors = [];
41
+ const warnings = [];
42
+ const toolName = toolCall.function.name;
43
+ const relevantRules = validationRules.filter(rule => rule.toolName === toolName);
44
+ for (const rule of relevantRules) {
45
+ try {
46
+ if (!rule.validator(toolCall.function.arguments)) {
47
+ errors.push(rule.errorMessage);
48
+ }
49
+ }
50
+ catch (error) {
51
+ warnings.push(`Validation rule for '${toolName}' failed to execute: ${error}`);
52
+ }
53
+ }
54
+ return {
55
+ isValid: errors.length === 0,
56
+ toolName,
57
+ errors,
58
+ warnings,
59
+ metadata: {
60
+ timestamp: new Date().toISOString(),
61
+ processor: this.constructor.name
62
+ }
63
+ };
64
+ }
65
+ }
66
+ exports.BasePreToolCallProcessor = BasePreToolCallProcessor;
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Base Processor Classes Index
3
+ * Exports all base processor classes for processor-pieces
4
+ */
5
+ export { BaseMessageModifier } from './baseMessageModifier';
6
+ export { BasePreInferenceProcessor } from './basePreInferenceProcessor';
7
+ export { BasePostInferenceProcessor } from './basePostInferenceProcessor';
8
+ export { BasePreToolCallProcessor } from './basePreToolCallProcessor';
9
+ export { BasePostToolCallProcessor } from './basePostToolCallProcessor';
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ /**
3
+ * Base Processor Classes Index
4
+ * Exports all base processor classes for processor-pieces
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.BasePostToolCallProcessor = exports.BasePreToolCallProcessor = exports.BasePostInferenceProcessor = exports.BasePreInferenceProcessor = exports.BaseMessageModifier = void 0;
8
+ // Base processor classes
9
+ var baseMessageModifier_1 = require("./baseMessageModifier");
10
+ Object.defineProperty(exports, "BaseMessageModifier", { enumerable: true, get: function () { return baseMessageModifier_1.BaseMessageModifier; } });
11
+ var basePreInferenceProcessor_1 = require("./basePreInferenceProcessor");
12
+ Object.defineProperty(exports, "BasePreInferenceProcessor", { enumerable: true, get: function () { return basePreInferenceProcessor_1.BasePreInferenceProcessor; } });
13
+ var basePostInferenceProcessor_1 = require("./basePostInferenceProcessor");
14
+ Object.defineProperty(exports, "BasePostInferenceProcessor", { enumerable: true, get: function () { return basePostInferenceProcessor_1.BasePostInferenceProcessor; } });
15
+ var basePreToolCallProcessor_1 = require("./basePreToolCallProcessor");
16
+ Object.defineProperty(exports, "BasePreToolCallProcessor", { enumerable: true, get: function () { return basePreToolCallProcessor_1.BasePreToolCallProcessor; } });
17
+ var basePostToolCallProcessor_1 = require("./basePostToolCallProcessor");
18
+ Object.defineProperty(exports, "BasePostToolCallProcessor", { enumerable: true, get: function () { return basePostToolCallProcessor_1.BasePostToolCallProcessor; } });
@@ -0,0 +1 @@
1
+ export * from './messageModifiers';
@@ -0,0 +1,59 @@
1
+ "use strict";
2
+ // // Reusable processors
3
+ // export { ChatCompressionProcessor } from './postToolCall/chatCompressionProcessor';
4
+ // export { LoopDetectionProcessor } from './postToolCall/loopDetectionProcessor';
5
+ // export { ContextManagementProcessor } from './postToolCall/contextManagementProcessor';
6
+ // export { AdvancedLoopDetectionProcessor } from './postToolCall/advancedLoopDetectionProcessor';
7
+ // export { TokenManagementProcessor } from './postToolCall/tokenManagementProcessor';
8
+ // export { ResponseValidationProcessor } from './postToolCall/responseValidationProcessor';
9
+ // export { ChatRecordingProcessor } from './postToolCall/chatRecordingProcessor';
10
+ // export { TelemetryProcessor } from './postToolCall/telemetryProcessor';
11
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
12
+ if (k2 === undefined) k2 = k;
13
+ var desc = Object.getOwnPropertyDescriptor(m, k);
14
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
15
+ desc = { enumerable: true, get: function() { return m[k]; } };
16
+ }
17
+ Object.defineProperty(o, k2, desc);
18
+ }) : (function(o, m, k, k2) {
19
+ if (k2 === undefined) k2 = k;
20
+ o[k2] = m[k];
21
+ }));
22
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
23
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ // // Follow-up conversation processors
27
+ // export { ConversationCompactorProcessor } from './postToolCall/conversationCompactorProcessor';
28
+ // export { FollowUpConversationProcessor } from './postToolCall/followUpConversationProcessor';
29
+ // export { ConversationContinuityProcessor } from './postToolCall/conversationContinuityProcessor';
30
+ // // Pre-tool call processors
31
+ // export {
32
+ // LocalToolInterceptorProcessor,
33
+ // ToolValidationProcessor,
34
+ // ToolParameterModifierProcessor,
35
+ // type LocalToolInterceptorInfo,
36
+ // type LocalToolInterceptorProcessorOptions,
37
+ // type LocalToolHandler,
38
+ // type ToolValidationInfo,
39
+ // type ToolValidationProcessorOptions,
40
+ // type ToolParameterModificationInfo,
41
+ // type ParameterTransformation,
42
+ // type ToolParameterModifierProcessorOptions
43
+ // } from './preToolCall';
44
+ // // Reusable message modifiers
45
+ // export { HandleUrlMessageModifier } from './messageModifiers/handleUrlMessageModifier';
46
+ // export { BaseContextMessageModifier } from './messageModifiers/baseContextMessageModifier';
47
+ // export { WorkingDirectoryMessageModifier } from './messageModifiers/workingDirectoryMessageModifier';
48
+ // export { BaseSystemInstructionMessageModifier } from './messageModifiers/baseSystemInstructionMessageModifier';
49
+ // export { ImageAttachmentMessageModifier } from './messageModifiers/imageAttachmentMessageModifier';
50
+ // export { AddToolsListMessageModifier } from './messageModifiers/addToolsListMessageModifier';
51
+ // // Reusable tools
52
+ // export {
53
+ // FileReadTool,
54
+ // FileWriteTool,
55
+ // FileDeleteTool,
56
+ // FileMoveTool,
57
+ // FileCopyTool
58
+ // } from './tools/fileTools';
59
+ __exportStar(require("./messageModifiers"), exports);
@@ -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 AddCurrentDirectoryRootFilesModifier extends BaseMessageModifier {
5
+ constructor();
6
+ modify(originalRequest: FlatUserMessage, createdMessage: ProcessedMessage, context?: Record<string, unknown>): Promise<ProcessedMessage>;
7
+ }
@@ -0,0 +1,93 @@
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.AddCurrentDirectoryRootFilesModifier = void 0;
37
+ const base_1 = require("../base");
38
+ const fs = __importStar(require("fs"));
39
+ class AddCurrentDirectoryRootFilesModifier extends base_1.BaseMessageModifier {
40
+ constructor() {
41
+ super();
42
+ }
43
+ async modify(originalRequest, createdMessage, context) {
44
+ try {
45
+ // Use current working directory
46
+ const currentPath = process.cwd();
47
+ // Read directory contents
48
+ const files = await fs.promises.readdir(currentPath, { withFileTypes: true });
49
+ // Format files list with type indicators
50
+ const filesList = files
51
+ .map(file => {
52
+ return ` ${file.name}`;
53
+ })
54
+ .join('\n');
55
+ const filesContent = filesList || 'No files found';
56
+ // Find system message and append files list to it
57
+ const messages = [...createdMessage.message.messages];
58
+ const systemMessageIndex = messages.findIndex(message => message.role === 'system');
59
+ if (systemMessageIndex !== -1) {
60
+ // Update existing system message
61
+ messages[systemMessageIndex] = {
62
+ ...messages[systemMessageIndex],
63
+ content: `${messages[systemMessageIndex].content}\n\nCurrent directory root files:\n\n${filesContent}`
64
+ };
65
+ }
66
+ else {
67
+ // Add new system message if none exists
68
+ messages.unshift({
69
+ role: 'system',
70
+ content: `Current directory root files:\n\n${filesContent}`
71
+ });
72
+ }
73
+ // Return updated message
74
+ return {
75
+ message: {
76
+ ...createdMessage.message,
77
+ messages
78
+ },
79
+ metadata: {
80
+ ...createdMessage.metadata,
81
+ currentDirectoryFilesAdded: true,
82
+ currentDirectoryPath: currentPath
83
+ }
84
+ };
85
+ }
86
+ catch (error) {
87
+ console.error('Error in AddCurrentDirectoryRootFilesModifier:', error);
88
+ // Return original message if there's an error
89
+ return createdMessage;
90
+ }
91
+ }
92
+ }
93
+ exports.AddCurrentDirectoryRootFilesModifier = AddCurrentDirectoryRootFilesModifier;
@@ -0,0 +1,31 @@
1
+ import { ProcessedMessage } from "@codebolt/types/agent";
2
+ import { BaseMessageModifier } from "../base";
3
+ import { FlatUserMessage, Tool } from "@codebolt/types/sdk";
4
+ export interface ToolList {
5
+ getAllTools(): Tool[];
6
+ addTool?(tool: Tool): void;
7
+ removeTool?(toolName: string): void;
8
+ getTool?(toolName: string): Tool | undefined;
9
+ getToolNames?(): string[];
10
+ }
11
+ export interface AddToolsListMessageModifierOptions {
12
+ toolsList?: ToolList;
13
+ addToolsLocation?: 'InsidePrompt' | 'Tool' | 'SystemMessage';
14
+ giveToolExamples?: boolean;
15
+ maxToolExamples?: number;
16
+ includeToolDescriptions?: boolean;
17
+ }
18
+ export declare class AddToolsListMessageModifier extends BaseMessageModifier {
19
+ private readonly toolsList?;
20
+ private readonly addToolsLocation;
21
+ private readonly giveToolExamples;
22
+ private readonly maxToolExamples;
23
+ private readonly includeToolDescriptions;
24
+ constructor(options?: AddToolsListMessageModifierOptions);
25
+ modify(originalRequest: FlatUserMessage, createdMessage: ProcessedMessage): Promise<ProcessedMessage>;
26
+ private addToolsInsidePrompt;
27
+ private addToolsAsSystemMessage;
28
+ private addToolsAsToolCalls;
29
+ private generateToolsInfo;
30
+ private generateToolExample;
31
+ }
@@ -0,0 +1,145 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.AddToolsListMessageModifier = void 0;
7
+ const base_1 = require("../base");
8
+ const codeboltjs_1 = __importDefault(require("@codebolt/codeboltjs"));
9
+ class AddToolsListMessageModifier extends base_1.BaseMessageModifier {
10
+ constructor(options = {}) {
11
+ super({ context: options });
12
+ this.toolsList = options.toolsList;
13
+ this.addToolsLocation = options.addToolsLocation || 'SystemMessage';
14
+ this.giveToolExamples = options.giveToolExamples || false;
15
+ this.maxToolExamples = options.maxToolExamples || 2;
16
+ this.includeToolDescriptions = options.includeToolDescriptions !== false; // default true
17
+ }
18
+ async modify(originalRequest, createdMessage) {
19
+ try {
20
+ const toolsResponse = await codeboltjs_1.default.mcp.listMcpFromServers(['codebolt']);
21
+ const tools = (toolsResponse === null || toolsResponse === void 0 ? void 0 : toolsResponse.data) || [];
22
+ if (tools.length === 0) {
23
+ return createdMessage;
24
+ }
25
+ switch (this.addToolsLocation) {
26
+ case 'InsidePrompt':
27
+ return this.addToolsInsidePrompt(createdMessage, tools);
28
+ case 'SystemMessage':
29
+ return this.addToolsAsSystemMessage(createdMessage, tools);
30
+ case 'Tool':
31
+ return this.addToolsAsToolCalls(createdMessage, tools);
32
+ default:
33
+ return this.addToolsAsToolCalls(createdMessage, tools);
34
+ }
35
+ }
36
+ catch (error) {
37
+ console.error('Error in AddToolsListMessageModifier:', error);
38
+ throw error;
39
+ }
40
+ }
41
+ addToolsInsidePrompt(createdMessage, tools) {
42
+ const toolsInfo = this.generateToolsInfo(tools);
43
+ // Modify the last user message to include tools information
44
+ const modifiedMessages = createdMessage.message.messages.map((message, index) => {
45
+ if (message.role === 'user' && index === createdMessage.message.messages.length - 1) {
46
+ return {
47
+ ...message,
48
+ content: `${message.content}\n\n--- Available Tools ---\n${toolsInfo}`
49
+ };
50
+ }
51
+ return message;
52
+ });
53
+ return {
54
+ message: {
55
+ ...createdMessage.message,
56
+ messages: modifiedMessages
57
+ },
58
+ metadata: {
59
+ ...createdMessage.metadata,
60
+ toolsListAdded: true,
61
+ toolsLocation: 'InsidePrompt',
62
+ toolsCount: tools.length
63
+ }
64
+ };
65
+ }
66
+ addToolsAsSystemMessage(createdMessage, tools) {
67
+ const toolsInfo = this.generateToolsInfo(tools);
68
+ const toolsMessage = {
69
+ role: 'system',
70
+ content: `Available Tools:\n${toolsInfo}`
71
+ };
72
+ return {
73
+ message: {
74
+ ...createdMessage.message,
75
+ messages: [toolsMessage, ...createdMessage.message.messages]
76
+ },
77
+ metadata: {
78
+ ...createdMessage.metadata,
79
+ toolsListAdded: true,
80
+ toolsLocation: 'SystemMessage',
81
+ toolsCount: tools.length
82
+ }
83
+ };
84
+ }
85
+ addToolsAsToolCalls(createdMessage, tools) {
86
+ return {
87
+ message: {
88
+ ...createdMessage.message,
89
+ tools,
90
+ tool_choice: 'auto'
91
+ },
92
+ metadata: {
93
+ ...createdMessage.metadata,
94
+ toolsListAdded: true,
95
+ toolsLocation: 'Tool',
96
+ toolsCount: tools.length
97
+ }
98
+ };
99
+ }
100
+ generateToolsInfo(tools) {
101
+ const toolsInfo = [];
102
+ tools.forEach((tool, index) => {
103
+ let toolInfo = `${index + 1}. **${tool.function.name}**`;
104
+ if (this.includeToolDescriptions && tool.function.description) {
105
+ toolInfo += `\n Description: ${tool.function.description}`;
106
+ }
107
+ if (tool.function.parameters) {
108
+ const params = typeof tool.function.parameters === 'object'
109
+ ? Object.keys(tool.function.parameters).join(', ')
110
+ : String(tool.function.parameters);
111
+ toolInfo += `\n Parameters: ${params}`;
112
+ }
113
+ if (this.giveToolExamples && index < this.maxToolExamples) {
114
+ const example = this.generateToolExample(tool);
115
+ if (example) {
116
+ toolInfo += `\n Example: ${example}`;
117
+ }
118
+ }
119
+ toolsInfo.push(toolInfo);
120
+ });
121
+ return toolsInfo.join('\n\n');
122
+ }
123
+ generateToolExample(tool) {
124
+ // Generate simple examples based on tool name
125
+ const toolName = tool.function.name.toLowerCase();
126
+ if (toolName.includes('read') && toolName.includes('file')) {
127
+ return `${tool.function.name}({ filePath: "example.txt" })`;
128
+ }
129
+ if (toolName.includes('write') && toolName.includes('file')) {
130
+ return `${tool.function.name}({ filePath: "output.txt", content: "Hello World" })`;
131
+ }
132
+ if (toolName.includes('delete') && toolName.includes('file')) {
133
+ return `${tool.function.name}({ filePath: "temp.txt" })`;
134
+ }
135
+ if (toolName.includes('move') && toolName.includes('file')) {
136
+ return `${tool.function.name}({ sourcePath: "old.txt", destinationPath: "new.txt" })`;
137
+ }
138
+ if (toolName.includes('copy') && toolName.includes('file')) {
139
+ return `${tool.function.name}({ sourcePath: "source.txt", destinationPath: "copy.txt" })`;
140
+ }
141
+ // Generic example
142
+ return `${tool.function.name}({ /* parameters */ })`;
143
+ }
144
+ }
145
+ exports.AddToolsListMessageModifier = AddToolsListMessageModifier;
@@ -0,0 +1,9 @@
1
+ import { ProcessedMessage } from "@codebolt/types/agent";
2
+ import { BaseMessageModifier } from "../base";
3
+ import { FlatUserMessage } from "@codebolt/types/sdk";
4
+ export declare class AdvancedSystemInstructionMessageModifier extends BaseMessageModifier {
5
+ private readonly systemInstruction;
6
+ constructor(systemInstruction?: string);
7
+ modify(originalRequest: FlatUserMessage, createdMessage: ProcessedMessage): Promise<ProcessedMessage>;
8
+ private getAdvancedSystemPrompt;
9
+ }
@@ -0,0 +1,77 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AdvancedSystemInstructionMessageModifier = void 0;
4
+ const base_1 = require("../base");
5
+ class AdvancedSystemInstructionMessageModifier extends base_1.BaseMessageModifier {
6
+ constructor(systemInstruction) {
7
+ super();
8
+ this.systemInstruction = systemInstruction || this.getAdvancedSystemPrompt();
9
+ }
10
+ async modify(originalRequest, createdMessage) {
11
+ try {
12
+ const systemMessage = {
13
+ role: 'system',
14
+ content: this.systemInstruction
15
+ };
16
+ const messages = [...(createdMessage.message.messages || [])];
17
+ const existingSystemIndex = messages.findIndex(msg => msg.role === 'system');
18
+ if (existingSystemIndex !== -1) {
19
+ messages[existingSystemIndex] = systemMessage;
20
+ }
21
+ else {
22
+ messages.unshift(systemMessage);
23
+ }
24
+ return {
25
+ message: {
26
+ ...createdMessage.message,
27
+ messages
28
+ },
29
+ metadata: {
30
+ ...createdMessage.metadata
31
+ }
32
+ };
33
+ }
34
+ catch (error) {
35
+ console.error('Error in AdvancedSystemInstructionMessageModifier:', error);
36
+ throw error;
37
+ }
38
+ }
39
+ getAdvancedSystemPrompt() {
40
+ const advancedPrompt = `
41
+ You are an advanced AI software engineering assistant with expertise in multiple programming languages, frameworks, and best practices. Your primary goal is to assist users efficiently and safely while adhering to the following guidelines:
42
+
43
+ 1. Code Quality and Best Practices:
44
+ - Write clean, efficient, and maintainable code
45
+ - Follow SOLID principles and design patterns when appropriate
46
+ - Implement proper error handling and logging
47
+ - Write unit tests for new functionality
48
+ - Ensure code is secure and follows cybersecurity best practices
49
+
50
+ 2. Project-Specific Considerations:
51
+ - Analyze and adhere to existing project structure, naming conventions, and coding style
52
+ - Use established libraries and frameworks within the project
53
+ - Consider scalability and performance implications of changes
54
+ - Maintain backward compatibility unless explicitly instructed otherwise
55
+
56
+ 3. Communication and Collaboration:
57
+ - Provide clear, concise explanations for your decisions and implementations
58
+ - Ask clarifying questions when requirements are ambiguous
59
+ - Suggest improvements or alternatives when appropriate
60
+ - Break down complex tasks into manageable steps
61
+
62
+ 4. Continuous Learning and Adaptation:
63
+ - Stay updated on latest industry trends and best practices
64
+ - Adapt your approach based on user feedback and project requirements
65
+ - Recommend modern tools and techniques when beneficial to the project
66
+
67
+ 5. Ethical Considerations:
68
+ - Respect intellectual property rights and licensing
69
+ - Avoid implementing features that could be used maliciously
70
+ - Promote inclusive and accessible code practices
71
+
72
+ Remember to use the provided tools effectively, always prioritize user safety and project integrity, and strive for excellence in every task you undertake.
73
+ `.trim();
74
+ return advancedPrompt;
75
+ }
76
+ }
77
+ exports.AdvancedSystemInstructionMessageModifier = AdvancedSystemInstructionMessageModifier;
@@ -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,25 @@
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
+ enableRecursiveSearch?: boolean;
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 processMentionedPaths;
14
+ private buildContentParts;
15
+ private resolvePath;
16
+ private globSearch;
17
+ private findFiles;
18
+ private readManyFiles;
19
+ private readFileContent;
20
+ private getFilesInFolder;
21
+ private getFolderStructure;
22
+ private findLastUserMessage;
23
+ private getProjectPath;
24
+ private isNodeError;
25
+ }