@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,129 @@
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.MemoryImportModifier = void 0;
37
+ const base_1 = require("../base");
38
+ const fs = __importStar(require("fs"));
39
+ const path = __importStar(require("path"));
40
+ class MemoryImportModifier extends base_1.BaseMessageModifier {
41
+ constructor(options = {}) {
42
+ super();
43
+ this.options = {
44
+ enableMemoryImport: options.enableMemoryImport !== false,
45
+ maxFileSize: options.maxFileSize || 1024 * 1024, // 1MB
46
+ allowedExtensions: options.allowedExtensions || ['.md', '.txt', '.json', '.yml', '.yaml', '.xml'],
47
+ basePath: options.basePath || process.cwd(),
48
+ maxImports: options.maxImports || 10
49
+ };
50
+ }
51
+ async modify(originalRequest, createdMessage) {
52
+ try {
53
+ if (!this.options.enableMemoryImport) {
54
+ return createdMessage;
55
+ }
56
+ // Get the user message content to process
57
+ const userMessage = createdMessage.message.messages.find(msg => msg.role === 'user');
58
+ if (!userMessage || typeof userMessage.content !== 'string') {
59
+ return createdMessage;
60
+ }
61
+ // Look for @path/to/file patterns (memory import syntax)
62
+ const memoryImportPattern = /@([^\s@]+(?:\.[a-zA-Z0-9]+)?)/g;
63
+ let content = userMessage.content;
64
+ const processedImports = [];
65
+ let match;
66
+ let importCount = 0;
67
+ while ((match = memoryImportPattern.exec(userMessage.content)) !== null && importCount < this.options.maxImports) {
68
+ const filePath = match[1];
69
+ const fullPath = path.isAbsolute(filePath) ? filePath : path.join(this.options.basePath, filePath);
70
+ try {
71
+ // Check if file exists and is allowed
72
+ const stats = await fs.promises.stat(fullPath);
73
+ if (!stats.isFile()) {
74
+ continue;
75
+ }
76
+ if (stats.size > this.options.maxFileSize) {
77
+ content = content.replace(match[0], `[File too large: ${filePath}]`);
78
+ continue;
79
+ }
80
+ const ext = path.extname(filePath);
81
+ if (!this.options.allowedExtensions.includes(ext)) {
82
+ content = content.replace(match[0], `[Unsupported file type: ${filePath}]`);
83
+ continue;
84
+ }
85
+ // Read and import the file content
86
+ const fileContent = await fs.promises.readFile(fullPath, 'utf-8');
87
+ const importedContent = `--- Content from ${filePath} ---\n${fileContent}\n--- End of ${filePath} ---`;
88
+ content = content.replace(match[0], importedContent);
89
+ processedImports.push(filePath);
90
+ importCount++;
91
+ }
92
+ catch (error) {
93
+ // Replace with error message if file can't be read
94
+ content = content.replace(match[0], `[Error reading ${filePath}: ${error instanceof Error ? error.message : 'unknown error'}]`);
95
+ }
96
+ }
97
+ if (processedImports.length === 0) {
98
+ return createdMessage;
99
+ }
100
+ // Update the user message with processed content
101
+ const messages = createdMessage.message.messages.map(msg => {
102
+ if (msg.role === 'user' && msg === userMessage) {
103
+ return {
104
+ ...msg,
105
+ content
106
+ };
107
+ }
108
+ return msg;
109
+ });
110
+ return Promise.resolve({
111
+ message: {
112
+ ...createdMessage.message,
113
+ messages
114
+ },
115
+ metadata: {
116
+ ...createdMessage.metadata,
117
+ memoryImportsProcessed: true,
118
+ importedFiles: processedImports,
119
+ totalImports: processedImports.length
120
+ }
121
+ });
122
+ }
123
+ catch (error) {
124
+ console.error('Error in MemoryImportModifier:', error);
125
+ return createdMessage;
126
+ }
127
+ }
128
+ }
129
+ exports.MemoryImportModifier = MemoryImportModifier;
@@ -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 ShellProcessorOptions {
5
+ enableShellExecution?: boolean;
6
+ maxExecutionTime?: number;
7
+ allowedCommands?: string[];
8
+ blockedCommands?: string[];
9
+ workingDirectory?: string;
10
+ }
11
+ export declare class ShellProcessorModifier extends BaseMessageModifier {
12
+ private readonly options;
13
+ private readonly execAsync;
14
+ private readonly SHELL_TRIGGER;
15
+ private readonly SHELL_CLOSE;
16
+ private readonly ARGS_PLACEHOLDER;
17
+ constructor(options?: ShellProcessorOptions);
18
+ modify(originalRequest: FlatUserMessage, createdMessage: ProcessedMessage): Promise<ProcessedMessage>;
19
+ private processShellInjections;
20
+ private extractShellInjections;
21
+ private validateCommand;
22
+ private executeCommand;
23
+ private escapeShellArg;
24
+ private escapeRegex;
25
+ }
@@ -0,0 +1,169 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ShellProcessorModifier = void 0;
4
+ const base_1 = require("../base");
5
+ const child_process_1 = require("child_process");
6
+ const util_1 = require("util");
7
+ class ShellProcessorModifier extends base_1.BaseMessageModifier {
8
+ constructor(options = {}) {
9
+ super();
10
+ this.execAsync = (0, util_1.promisify)(child_process_1.exec);
11
+ this.SHELL_TRIGGER = '!{';
12
+ this.SHELL_CLOSE = '}';
13
+ this.ARGS_PLACEHOLDER = '{{args}}';
14
+ this.options = {
15
+ enableShellExecution: options.enableShellExecution || false, // Disabled by default for security
16
+ maxExecutionTime: options.maxExecutionTime || 10000, // 10 seconds
17
+ allowedCommands: options.allowedCommands || ['ls', 'pwd', 'echo', 'cat', 'head', 'tail', 'grep', 'find', 'wc'],
18
+ blockedCommands: options.blockedCommands || ['rm', 'del', 'format', 'sudo', 'su', 'chmod', 'chown', 'kill', 'killall'],
19
+ workingDirectory: options.workingDirectory || process.cwd()
20
+ };
21
+ }
22
+ async modify(originalRequest, createdMessage) {
23
+ var _a;
24
+ try {
25
+ // Get the user message content to process
26
+ const userMessage = createdMessage.message.messages.find(msg => msg.role === 'user');
27
+ if (!userMessage || typeof userMessage.content !== 'string') {
28
+ return createdMessage;
29
+ }
30
+ const content = userMessage.content;
31
+ const args = ((_a = createdMessage.metadata) === null || _a === void 0 ? void 0 : _a.args) || '';
32
+ // First, replace {{args}} placeholders
33
+ let processedContent = content.replace(new RegExp(this.escapeRegex(this.ARGS_PLACEHOLDER), 'g'), args);
34
+ // Then process shell injections if enabled
35
+ if (this.options.enableShellExecution && processedContent.includes(this.SHELL_TRIGGER)) {
36
+ processedContent = await this.processShellInjections(processedContent, args);
37
+ }
38
+ // If content was modified, update the message
39
+ if (processedContent !== content) {
40
+ const updatedMessages = createdMessage.message.messages.map(msg => {
41
+ if (msg.role === 'user' && typeof msg.content === 'string' && msg.content === content) {
42
+ return {
43
+ ...msg,
44
+ content: processedContent
45
+ };
46
+ }
47
+ return msg;
48
+ });
49
+ return Promise.resolve({
50
+ message: {
51
+ ...createdMessage.message,
52
+ messages: updatedMessages
53
+ },
54
+ metadata: {
55
+ ...createdMessage.metadata,
56
+ shellProcessed: true,
57
+ argsReplaced: content.includes(this.ARGS_PLACEHOLDER)
58
+ }
59
+ });
60
+ }
61
+ return createdMessage;
62
+ }
63
+ catch (error) {
64
+ console.error('Error in ShellProcessorModifier:', error);
65
+ return createdMessage;
66
+ }
67
+ }
68
+ async processShellInjections(content, args) {
69
+ let processedContent = content;
70
+ const injections = this.extractShellInjections(content);
71
+ // Process injections in reverse order to maintain correct indices
72
+ for (let i = injections.length - 1; i >= 0; i--) {
73
+ const injection = injections[i];
74
+ try {
75
+ // Replace {{args}} in the command with shell-escaped args
76
+ const command = injection.command.replace(new RegExp(this.escapeRegex(this.ARGS_PLACEHOLDER), 'g'), this.escapeShellArg(args));
77
+ // Validate and execute command
78
+ this.validateCommand(command);
79
+ const result = await this.executeCommand(command);
80
+ const replacement = result;
81
+ processedContent = processedContent.substring(0, injection.startIndex) +
82
+ replacement +
83
+ processedContent.substring(injection.endIndex);
84
+ }
85
+ catch (error) {
86
+ const errorMessage = error instanceof Error ? error.message : 'Unknown error';
87
+ const replacement = `[Shell command error: ${errorMessage}]`;
88
+ processedContent = processedContent.substring(0, injection.startIndex) +
89
+ replacement +
90
+ processedContent.substring(injection.endIndex);
91
+ }
92
+ }
93
+ return processedContent;
94
+ }
95
+ extractShellInjections(content) {
96
+ const injections = [];
97
+ let searchIndex = 0;
98
+ while (true) {
99
+ const startIndex = content.indexOf(this.SHELL_TRIGGER, searchIndex);
100
+ if (startIndex === -1)
101
+ break;
102
+ const contentStart = startIndex + this.SHELL_TRIGGER.length;
103
+ const endIndex = content.indexOf(this.SHELL_CLOSE, contentStart);
104
+ if (endIndex === -1) {
105
+ // No closing brace found, skip this occurrence
106
+ searchIndex = contentStart;
107
+ continue;
108
+ }
109
+ const command = content.substring(contentStart, endIndex).trim();
110
+ if (command.length > 0) {
111
+ injections.push({
112
+ startIndex,
113
+ endIndex: endIndex + this.SHELL_CLOSE.length,
114
+ command
115
+ });
116
+ }
117
+ searchIndex = endIndex + this.SHELL_CLOSE.length;
118
+ }
119
+ return injections;
120
+ }
121
+ validateCommand(command) {
122
+ if (!this.options.enableShellExecution) {
123
+ throw new Error('Shell execution is disabled');
124
+ }
125
+ // Extract the base command (first word)
126
+ const baseCommand = command.trim().split(/\s+/)[0];
127
+ // Check blocked commands
128
+ if (this.options.blockedCommands.some(blocked => baseCommand.includes(blocked))) {
129
+ throw new Error(`Command '${baseCommand}' is blocked for security reasons`);
130
+ }
131
+ // Check allowed commands (if allowlist is defined)
132
+ if (this.options.allowedCommands.length > 0 &&
133
+ !this.options.allowedCommands.some(allowed => baseCommand.includes(allowed))) {
134
+ throw new Error(`Command '${baseCommand}' is not in the allowed commands list`);
135
+ }
136
+ // Additional security checks
137
+ if (command.includes('&&') || command.includes('||') || command.includes(';') || command.includes('|')) {
138
+ throw new Error('Command chaining and piping are not allowed');
139
+ }
140
+ }
141
+ async executeCommand(command) {
142
+ try {
143
+ const { stdout, stderr } = await this.execAsync(command, {
144
+ cwd: this.options.workingDirectory,
145
+ timeout: this.options.maxExecutionTime,
146
+ maxBuffer: 1024 * 1024 // 1MB buffer
147
+ });
148
+ let result = stdout;
149
+ if (stderr) {
150
+ result += `\n[stderr]: ${stderr}`;
151
+ }
152
+ return result || '[Command executed successfully with no output]';
153
+ }
154
+ catch (error) {
155
+ if (error.killed && error.signal === 'SIGTERM') {
156
+ throw new Error(`Command timed out after ${this.options.maxExecutionTime}ms`);
157
+ }
158
+ throw new Error(`Command failed: ${error.message}`);
159
+ }
160
+ }
161
+ escapeShellArg(arg) {
162
+ // Basic shell escaping - in production, use a proper shell escaping library
163
+ return `"${arg.replace(/"/g, '\\"')}"`;
164
+ }
165
+ escapeRegex(str) {
166
+ return str.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
167
+ }
168
+ }
169
+ exports.ShellProcessorModifier = ShellProcessorModifier;
@@ -0,0 +1,20 @@
1
+ import { ProcessedMessage } from "@codebolt/types/agent";
2
+ import { BaseMessageModifier } from "../base";
3
+ import { FlatUserMessage } from "@codebolt/types/sdk";
4
+ export interface ToolInjectionOptions {
5
+ toolsLocation?: 'Tool' | 'SystemMessage' | 'InsidePrompt';
6
+ includeToolDescriptions?: boolean;
7
+ maxToolsInMessage?: number;
8
+ giveToolExamples?: boolean;
9
+ maxToolExamples?: number;
10
+ }
11
+ export declare class ToolInjectionModifier extends BaseMessageModifier {
12
+ private readonly options;
13
+ constructor(options?: ToolInjectionOptions);
14
+ modify(originalRequest: FlatUserMessage, createdMessage: ProcessedMessage): Promise<ProcessedMessage>;
15
+ private addToolsInsidePrompt;
16
+ private addToolsAsSystemMessage;
17
+ private addToolsAsToolCalls;
18
+ private generateToolsInfo;
19
+ private generateToolExample;
20
+ }
@@ -0,0 +1,152 @@
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.ToolInjectionModifier = void 0;
7
+ const base_1 = require("../base");
8
+ const codeboltjs_1 = __importDefault(require("@codebolt/codeboltjs"));
9
+ class ToolInjectionModifier extends base_1.BaseMessageModifier {
10
+ constructor(options = {}) {
11
+ super();
12
+ this.options = {
13
+ toolsLocation: options.toolsLocation || 'Tool',
14
+ includeToolDescriptions: options.includeToolDescriptions !== false,
15
+ maxToolsInMessage: options.maxToolsInMessage || 20,
16
+ giveToolExamples: options.giveToolExamples || false,
17
+ maxToolExamples: options.maxToolExamples || 2
18
+ };
19
+ }
20
+ async modify(originalRequest, createdMessage) {
21
+ try {
22
+ const toolsResponse = await codeboltjs_1.default.mcp.listMcpFromServers(['codebolt']);
23
+ const tools = (toolsResponse === null || toolsResponse === void 0 ? void 0 : toolsResponse.data) || [];
24
+ if (tools.length === 0) {
25
+ return createdMessage;
26
+ }
27
+ switch (this.options.toolsLocation) {
28
+ case 'InsidePrompt':
29
+ //@ts-ignore
30
+ return this.addToolsInsidePrompt(createdMessage, tools);
31
+ //@ts-ignore
32
+ case 'SystemMessage':
33
+ //@ts-ignore
34
+ return this.addToolsAsSystemMessage(createdMessage, tools);
35
+ case 'Tool':
36
+ //@ts-ignore
37
+ return this.addToolsAsToolCalls(createdMessage, tools);
38
+ default:
39
+ //@ts-ignore
40
+ return this.addToolsAsToolCalls(createdMessage, tools);
41
+ }
42
+ }
43
+ catch (error) {
44
+ console.error('Error in ToolInjectionModifier:', error);
45
+ return createdMessage;
46
+ }
47
+ }
48
+ addToolsInsidePrompt(createdMessage, tools) {
49
+ const toolsInfo = this.generateToolsInfo(tools);
50
+ // Modify the last user message to include tools information
51
+ const modifiedMessages = createdMessage.message.messages.map((message, index) => {
52
+ if (message.role === 'user' && index === createdMessage.message.messages.length - 1) {
53
+ return {
54
+ ...message,
55
+ content: `${message.content}\n\n--- Available Tools ---\n${toolsInfo}`
56
+ };
57
+ }
58
+ return message;
59
+ });
60
+ return {
61
+ message: {
62
+ ...createdMessage.message,
63
+ messages: modifiedMessages
64
+ },
65
+ metadata: {
66
+ ...createdMessage.metadata,
67
+ toolsInjected: true,
68
+ toolsLocation: 'InsidePrompt',
69
+ toolsCount: tools.length
70
+ }
71
+ };
72
+ }
73
+ addToolsAsSystemMessage(createdMessage, tools) {
74
+ const toolsInfo = this.generateToolsInfo(tools);
75
+ const toolsMessage = {
76
+ role: 'system',
77
+ content: `Available Tools:\n${toolsInfo}`
78
+ };
79
+ return {
80
+ message: {
81
+ ...createdMessage.message,
82
+ messages: [toolsMessage, ...createdMessage.message.messages]
83
+ },
84
+ metadata: {
85
+ ...createdMessage.metadata,
86
+ toolsInjected: true,
87
+ toolsLocation: 'SystemMessage',
88
+ toolsCount: tools.length
89
+ }
90
+ };
91
+ }
92
+ addToolsAsToolCalls(createdMessage, tools) {
93
+ return {
94
+ message: {
95
+ ...createdMessage.message,
96
+ tools,
97
+ tool_choice: 'auto'
98
+ },
99
+ metadata: {
100
+ ...createdMessage.metadata,
101
+ toolsInjected: true,
102
+ toolsLocation: 'Tool',
103
+ toolsCount: tools.length
104
+ }
105
+ };
106
+ }
107
+ generateToolsInfo(tools) {
108
+ const toolsInfo = [];
109
+ tools.slice(0, this.options.maxToolsInMessage).forEach((tool, index) => {
110
+ let toolInfo = `${index + 1}. **${tool.function.name}**`;
111
+ if (this.options.includeToolDescriptions && tool.function.description) {
112
+ toolInfo += `\n Description: ${tool.function.description}`;
113
+ }
114
+ if (tool.function.parameters) {
115
+ const params = typeof tool.function.parameters === 'object'
116
+ ? Object.keys(tool.function.parameters).join(', ')
117
+ : String(tool.function.parameters);
118
+ toolInfo += `\n Parameters: ${params}`;
119
+ }
120
+ if (this.options.giveToolExamples && index < this.options.maxToolExamples) {
121
+ const example = this.generateToolExample(tool);
122
+ if (example) {
123
+ toolInfo += `\n Example: ${example}`;
124
+ }
125
+ }
126
+ toolsInfo.push(toolInfo);
127
+ });
128
+ return toolsInfo.join('\n\n');
129
+ }
130
+ generateToolExample(tool) {
131
+ // Generate simple examples based on tool name
132
+ const toolName = tool.function.name.toLowerCase();
133
+ if (toolName.includes('read') && toolName.includes('file')) {
134
+ return `${tool.function.name}({ filePath: "example.txt" })`;
135
+ }
136
+ if (toolName.includes('write') && toolName.includes('file')) {
137
+ return `${tool.function.name}({ filePath: "output.txt", content: "Hello World" })`;
138
+ }
139
+ if (toolName.includes('delete') && toolName.includes('file')) {
140
+ return `${tool.function.name}({ filePath: "temp.txt" })`;
141
+ }
142
+ if (toolName.includes('move') && toolName.includes('file')) {
143
+ return `${tool.function.name}({ sourcePath: "old.txt", destinationPath: "new.txt" })`;
144
+ }
145
+ if (toolName.includes('copy') && toolName.includes('file')) {
146
+ return `${tool.function.name}({ sourcePath: "source.txt", destinationPath: "copy.txt" })`;
147
+ }
148
+ // Generic example
149
+ return `${tool.function.name}({ /* parameters */ })`;
150
+ }
151
+ }
152
+ exports.ToolInjectionModifier = ToolInjectionModifier;
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Base Message Modifier Class
3
+ * Abstract base class for all message modifiers
4
+ * Message modifiers convert user messages to prompts for the LLM
5
+ */
6
+ import { MessageModifier, MessageModifierOptions, ProcessedMessage } from '@codebolt/types/agent';
7
+ import { FlatUserMessage } from '@codebolt/types/sdk';
8
+ export declare abstract class BaseMessageModifier implements MessageModifier {
9
+ protected context: Record<string, unknown>;
10
+ constructor(options?: MessageModifierOptions);
11
+ abstract modify(originalRequest: FlatUserMessage, createdMessage: ProcessedMessage): Promise<ProcessedMessage>;
12
+ }
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ /**
3
+ * Base Message Modifier Class
4
+ * Abstract base class for all message modifiers
5
+ * Message modifiers convert user messages to prompts for the LLM
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ exports.BaseMessageModifier = void 0;
9
+ class BaseMessageModifier {
10
+ constructor(options = {}) {
11
+ this.context = {};
12
+ this.context = options.context || {};
13
+ }
14
+ }
15
+ exports.BaseMessageModifier = BaseMessageModifier;
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Base Post-Inference Processor Class
3
+ * Abstract base class for all post-inference processors
4
+ * These are called after the LLM is called and we have gotten the response
5
+ * This is before the actual Tool Call is done
6
+ */
7
+ import { PostInferenceProcessor, ProcessedMessage } from '@codebolt/types/agent';
8
+ import { LLMResponse } from '@codebolt/types/sdk';
9
+ export declare abstract class BasePostInferenceProcessor implements PostInferenceProcessor {
10
+ protected context: Record<string, unknown>;
11
+ constructor();
12
+ abstract modify(llmMessageSent: ProcessedMessage, llmResponseMessage: LLMResponse, nextPrompt: ProcessedMessage): Promise<ProcessedMessage>;
13
+ }
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ /**
3
+ * Base Post-Inference Processor Class
4
+ * Abstract base class for all post-inference processors
5
+ * These are called after the LLM is called and we have gotten the response
6
+ * This is before the actual Tool Call is done
7
+ */
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.BasePostInferenceProcessor = void 0;
10
+ class BasePostInferenceProcessor {
11
+ // constructor(options: PostInferenceProcessorOptions = {}) {
12
+ // this.context = options.context || {};
13
+ // }
14
+ constructor() {
15
+ this.context = {};
16
+ }
17
+ }
18
+ exports.BasePostInferenceProcessor = BasePostInferenceProcessor;
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Base Post-Tool Call Processor Class
3
+ * Abstract base class for all post-tool call processors
4
+ * These are called after the Tool Call
5
+ * Help in checking the tool call results and adding them to the LLM message
6
+ */
7
+ import { PostToolCallProcessor, PostToolCallProcessorInput, PostToolCallProcessorOutput } from '@codebolt/types/agent';
8
+ export declare abstract class BasePostToolCallProcessor implements PostToolCallProcessor {
9
+ protected context: Record<string, unknown>;
10
+ constructor();
11
+ abstract modify(input: PostToolCallProcessorInput): Promise<PostToolCallProcessorOutput>;
12
+ setContext(key: string, value: unknown): void;
13
+ getContext(key: string): unknown;
14
+ clearContext(): void;
15
+ }
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ /**
3
+ * Base Post-Tool Call Processor Class
4
+ * Abstract base class for all post-tool call processors
5
+ * These are called after the Tool Call
6
+ * Help in checking the tool call results and adding them to the LLM message
7
+ */
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.BasePostToolCallProcessor = void 0;
10
+ class BasePostToolCallProcessor {
11
+ constructor() {
12
+ this.context = {};
13
+ // this.context = options.context || {};
14
+ }
15
+ setContext(key, value) {
16
+ this.context[key] = value;
17
+ }
18
+ getContext(key) {
19
+ return this.context[key];
20
+ }
21
+ clearContext() {
22
+ this.context = {};
23
+ }
24
+ }
25
+ exports.BasePostToolCallProcessor = BasePostToolCallProcessor;
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Base Pre-Inference Processor Class
3
+ * Abstract base class for all pre-inference processors
4
+ * These are called before the Agent calls the LLM
5
+ */
6
+ import { PreInferenceProcessor, ProcessedMessage } from '@codebolt/types/agent';
7
+ import { FlatUserMessage } from '@codebolt/types/sdk';
8
+ export declare abstract class BasePreInferenceProcessor implements PreInferenceProcessor {
9
+ protected context: Record<string, unknown>;
10
+ constructor();
11
+ abstract modify(originalRequest: FlatUserMessage, createdMessage: ProcessedMessage): Promise<ProcessedMessage>;
12
+ }
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ /**
3
+ * Base Pre-Inference Processor Class
4
+ * Abstract base class for all pre-inference processors
5
+ * These are called before the Agent calls the LLM
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ exports.BasePreInferenceProcessor = void 0;
9
+ class BasePreInferenceProcessor {
10
+ // constructor(options: PreInferenceProcessorOptions = {}) {
11
+ // this.context = options.context || {};
12
+ // }
13
+ constructor() {
14
+ this.context = {};
15
+ }
16
+ }
17
+ exports.BasePreInferenceProcessor = BasePreInferenceProcessor;
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Base Pre-Tool Call Processor Class
3
+ * Abstract base class for all pre-tool call processors
4
+ * These are called before the Tool Call
5
+ * Used to check if the Tool Call is proper and handle Local Tool Interceptor
6
+ */
7
+ import { PreToolCallProcessor, PreToolCallProcessorInput, PreToolCallProcessorOutput, InterceptedTool, ToolValidationRule, ToolValidationResult, ToolCall } from '@codebolt/types/agent';
8
+ export declare abstract class BasePreToolCallProcessor implements PreToolCallProcessor {
9
+ protected context: Record<string, unknown>;
10
+ constructor();
11
+ abstract modify(input: PreToolCallProcessorInput): Promise<PreToolCallProcessorOutput>;
12
+ interceptTool?(_toolName: string, _toolInput: unknown): Promise<boolean>;
13
+ setContext(key: string, value: unknown): void;
14
+ getContext(key: string): unknown;
15
+ clearContext(): void;
16
+ protected createInterceptedTool(toolName: string, originalInput: unknown, result?: unknown, reason?: string): InterceptedTool;
17
+ protected validateToolCall(toolCall: ToolCall, validationRules: ToolValidationRule[]): ToolValidationResult;
18
+ }