@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,305 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ var __importDefault = (this && this.__importDefault) || function (mod) {
36
+ return (mod && mod.__esModule) ? mod : { "default": mod };
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.ContextManagementProcessor = void 0;
40
+ const processor_1 = require("../../processor");
41
+ const codeboltjs_1 = __importDefault(require("@codebolt/codeboltjs"));
42
+ class ContextManagementProcessor extends processor_1.BaseProcessor {
43
+ constructor(options = {}) {
44
+ super(options);
45
+ this.lastSentIdeContext = undefined;
46
+ this.contextAddedToHistory = false;
47
+ this.enableProjectContext = options.enableProjectContext !== false;
48
+ this.enableIdeContext = options.enableIdeContext !== false;
49
+ this.enableDirectoryContext = options.enableDirectoryContext !== false;
50
+ this.forceFullContext = options.forceFullContext || false;
51
+ this.contextThreshold = options.contextThreshold || 100;
52
+ }
53
+ async processInput(input) {
54
+ try {
55
+ const { message, context } = input;
56
+ // Check if context should be added
57
+ if (this.contextAddedToHistory && !this.forceFullContext) {
58
+ return [this.createEvent('ContextAlreadyAdded', {
59
+ reason: 'Context has already been added to this session'
60
+ })];
61
+ }
62
+ // Collect context information using CodeBolt
63
+ const contextInfo = await this.collectContext();
64
+ if (!contextInfo.contextAdded) {
65
+ return [this.createEvent('NoContextAvailable', {
66
+ reason: 'No relevant context found for this session'
67
+ })];
68
+ }
69
+ // Add context to the message
70
+ const messageWithContext = await this.addContextToMessage(message, contextInfo);
71
+ // Mark context as added
72
+ this.contextAddedToHistory = true;
73
+ return [
74
+ this.createEvent('ContextAdded', contextInfo),
75
+ this.createEvent('MessageWithContext', messageWithContext)
76
+ ];
77
+ }
78
+ catch (error) {
79
+ console.error('Error in ContextManagementProcessor:', error);
80
+ return [this.createEvent('ContextError', {
81
+ error: error instanceof Error ? error.message : String(error)
82
+ })];
83
+ }
84
+ }
85
+ async collectContext() {
86
+ const contextInfo = {
87
+ contextAdded: false
88
+ };
89
+ try {
90
+ // Collect project context if enabled
91
+ if (this.enableProjectContext) {
92
+ contextInfo.projectContext = await this.getProjectContext();
93
+ }
94
+ // Collect IDE context if enabled
95
+ if (this.enableIdeContext) {
96
+ contextInfo.ideContext = await this.getIdeContext();
97
+ }
98
+ // Collect directory context if enabled
99
+ if (this.enableDirectoryContext) {
100
+ contextInfo.directoryContext = await this.getDirectoryContext();
101
+ }
102
+ // Check if we have any meaningful context
103
+ contextInfo.contextAdded = !!(contextInfo.projectContext || contextInfo.ideContext || contextInfo.directoryContext);
104
+ }
105
+ catch (error) {
106
+ console.warn('Failed to collect context:', error);
107
+ }
108
+ return contextInfo;
109
+ }
110
+ async getProjectContext() {
111
+ try {
112
+ // Get current working directory and project info
113
+ const cwd = process.cwd();
114
+ const projectName = cwd.split(/[\\/]/).pop() || 'unknown-project';
115
+ // Try to get additional project info from CodeBolt if available
116
+ let additionalInfo = '';
117
+ try {
118
+ const projectPath = await codeboltjs_1.default.project.getProjectPath();
119
+ if (projectPath.success && projectPath.data) {
120
+ additionalInfo = `\nProject Path: ${projectPath.data}`;
121
+ }
122
+ }
123
+ catch (error) {
124
+ // Project info is optional
125
+ }
126
+ return `Project: ${projectName}\nWorking Directory: ${cwd}${additionalInfo}`;
127
+ }
128
+ catch (error) {
129
+ console.warn('Failed to get project context:', error);
130
+ return undefined;
131
+ }
132
+ }
133
+ async getIdeContext() {
134
+ try {
135
+ // This would normally integrate with CodeBolt's IDE context detection
136
+ // For now, simulate basic IDE context
137
+ const ideContext = {
138
+ ideType: this.detectIdeType(),
139
+ openFiles: await this.getOpenFiles(),
140
+ activeFile: await this.getActiveFile()
141
+ };
142
+ // Update last sent IDE context
143
+ this.lastSentIdeContext = ideContext;
144
+ return ideContext;
145
+ }
146
+ catch (error) {
147
+ console.warn('Failed to get IDE context:', error);
148
+ return undefined;
149
+ }
150
+ }
151
+ async getDirectoryContext() {
152
+ try {
153
+ // Get directory structure using CodeBolt's file system capabilities
154
+ const cwd = process.cwd();
155
+ // Try to get directory listing from CodeBolt
156
+ let directoryContents = '';
157
+ try {
158
+ const listResult = await codeboltjs_1.default.fs.listFile(cwd);
159
+ if (listResult.success && listResult.data) {
160
+ const items = listResult.data.filter((item) => !item.name.startsWith('.'));
161
+ directoryContents = items.slice(0, 10).map((item) => item.name).join(', ');
162
+ if (items.length > 10) {
163
+ directoryContents += '...';
164
+ }
165
+ }
166
+ }
167
+ catch (error) {
168
+ // Fallback to basic directory listing
169
+ const fs = await Promise.resolve().then(() => __importStar(require('fs/promises')));
170
+ const items = await fs.readdir(cwd);
171
+ const files = items.filter(item => !item.startsWith('.'));
172
+ directoryContents = files.slice(0, 10).join(', ') + (files.length > 10 ? '...' : '');
173
+ }
174
+ return `Directory: ${cwd}\nContents: ${directoryContents}`;
175
+ }
176
+ catch (error) {
177
+ console.warn('Failed to get directory context:', error);
178
+ return undefined;
179
+ }
180
+ }
181
+ detectIdeType() {
182
+ // Detect IDE type from environment variables
183
+ if (process.env.VSCODE_PID || process.env.VSCODE_IPC_HOOK) {
184
+ return 'vscode';
185
+ }
186
+ if (process.env.CURSOR_PID || process.env.CURSOR_SESSION_ID) {
187
+ return 'cursor';
188
+ }
189
+ return 'unknown';
190
+ }
191
+ async getOpenFiles() {
192
+ try {
193
+ // This would normally get actual open files from IDE
194
+ // For now, simulate with recent files in current directory
195
+ const cwd = process.cwd();
196
+ // Try to get recent files from CodeBolt
197
+ let files = [];
198
+ try {
199
+ // CodeBolt doesn't have findRecentFiles, so we'll use listFile as fallback
200
+ const listResult = await codeboltjs_1.default.fs.listFile(cwd);
201
+ if (listResult.success && listResult.data) {
202
+ const fileItems = listResult.data.filter((item) => !item.name.startsWith('.') && item.includes('.'));
203
+ files = fileItems.slice(0, 5).map((file, index) => ({
204
+ path: file.name,
205
+ isActive: index === 0,
206
+ timestamp: Date.now()
207
+ }));
208
+ }
209
+ }
210
+ catch (error) {
211
+ // Fallback to basic file listing
212
+ const fs = await Promise.resolve().then(() => __importStar(require('fs/promises')));
213
+ const items = await fs.readdir(cwd);
214
+ const fileItems = items.filter(item => !item.startsWith('.') && item.includes('.'));
215
+ files = fileItems.slice(0, 5).map((file, index) => ({
216
+ path: file,
217
+ isActive: index === 0,
218
+ timestamp: Date.now()
219
+ }));
220
+ }
221
+ return files;
222
+ }
223
+ catch (error) {
224
+ return [];
225
+ }
226
+ }
227
+ async getActiveFile() {
228
+ try {
229
+ const openFiles = await this.getOpenFiles();
230
+ return openFiles.find(f => f.isActive);
231
+ }
232
+ catch (error) {
233
+ return undefined;
234
+ }
235
+ }
236
+ async addContextToMessage(message, contextInfo) {
237
+ const contextMessages = [];
238
+ // Add project context
239
+ if (contextInfo.projectContext) {
240
+ contextMessages.push({
241
+ role: 'system',
242
+ content: `Project Context:\n${contextInfo.projectContext}`,
243
+ name: 'project-context'
244
+ });
245
+ }
246
+ // Add IDE context
247
+ if (contextInfo.ideContext) {
248
+ contextMessages.push({
249
+ role: 'system',
250
+ content: `IDE Context:\n\`\`\`json\n${JSON.stringify(contextInfo.ideContext, null, 2)}\n\`\`\``,
251
+ name: 'ide-context'
252
+ });
253
+ }
254
+ // Add directory context
255
+ if (contextInfo.directoryContext) {
256
+ contextMessages.push({
257
+ role: 'system',
258
+ content: `Directory Context:\n${contextInfo.directoryContext}`,
259
+ name: 'directory-context'
260
+ });
261
+ }
262
+ // Add acknowledgment message
263
+ if (contextMessages.length > 0) {
264
+ contextMessages.push({
265
+ role: 'assistant',
266
+ content: 'Got it. Thanks for the context!',
267
+ name: 'context-acknowledgment'
268
+ });
269
+ }
270
+ return {
271
+ messages: [...contextMessages, ...message.messages],
272
+ metadata: {
273
+ ...message.metadata,
274
+ contextAdded: true,
275
+ contextInfo
276
+ }
277
+ };
278
+ }
279
+ // Public methods for external control
280
+ resetContext() {
281
+ this.contextAddedToHistory = false;
282
+ this.lastSentIdeContext = undefined;
283
+ this.clearContext();
284
+ }
285
+ forceContextRefresh() {
286
+ this.forceFullContext = true;
287
+ this.contextAddedToHistory = false;
288
+ }
289
+ setContextThreshold(threshold) {
290
+ this.contextThreshold = Math.max(1, threshold);
291
+ }
292
+ enableProjectContextForSession() {
293
+ this.enableProjectContext = true;
294
+ }
295
+ disableProjectContextForSession() {
296
+ this.enableProjectContext = false;
297
+ }
298
+ enableIdeContextForSession() {
299
+ this.enableIdeContext = true;
300
+ }
301
+ disableIdeContextForSession() {
302
+ this.enableIdeContext = false;
303
+ }
304
+ }
305
+ exports.ContextManagementProcessor = ContextManagementProcessor;
@@ -0,0 +1,30 @@
1
+ import { BaseProcessor, ProcessorInput, ProcessorOutput } from '../../processor';
2
+ export interface LoopDetectionInfo {
3
+ promptId: string;
4
+ loopCount: number;
5
+ maxLoops: number;
6
+ recentMessages: any[];
7
+ isLoop: boolean;
8
+ }
9
+ export interface LoopDetectionProcessorOptions {
10
+ maxLoops?: number;
11
+ messageThreshold?: number;
12
+ enableLoopDetection?: boolean;
13
+ }
14
+ export declare class LoopDetectionProcessor extends BaseProcessor {
15
+ private readonly maxLoops;
16
+ private readonly messageThreshold;
17
+ private readonly enableLoopDetection;
18
+ private lastPromptId;
19
+ private loopCount;
20
+ constructor(options?: LoopDetectionProcessorOptions);
21
+ processInput(input: ProcessorInput): Promise<ProcessorOutput[]>;
22
+ private generatePromptId;
23
+ private resetLoopDetector;
24
+ private checkLoopDetection;
25
+ resetSession(): void;
26
+ getCurrentLoopCount(): number;
27
+ setMaxLoops(maxLoops: number): void;
28
+ enableLoopDetectionForSession(): void;
29
+ disableLoopDetectionForSession(): void;
30
+ }
@@ -0,0 +1,137 @@
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.LoopDetectionProcessor = void 0;
7
+ const processor_1 = require("../../processor");
8
+ const codeboltjs_1 = __importDefault(require("@codebolt/codeboltjs"));
9
+ class LoopDetectionProcessor extends processor_1.BaseProcessor {
10
+ constructor(options = {}) {
11
+ super(options);
12
+ this.lastPromptId = null;
13
+ this.loopCount = 0;
14
+ this.maxLoops = options.maxLoops || 3;
15
+ this.messageThreshold = options.messageThreshold || 6;
16
+ this.enableLoopDetection = options.enableLoopDetection !== false;
17
+ }
18
+ async processInput(input) {
19
+ try {
20
+ const { message, context } = input;
21
+ if (!this.enableLoopDetection) {
22
+ return [this.createEvent('LoopDetectionDisabled', {
23
+ reason: 'Loop detection is disabled for this session'
24
+ })];
25
+ }
26
+ // Get prompt ID from context or generate one
27
+ const promptId = (context === null || context === void 0 ? void 0 : context.promptId) || this.generatePromptId();
28
+ // Reset loop detector if new prompt
29
+ if (this.lastPromptId !== promptId) {
30
+ await this.resetLoopDetector(promptId);
31
+ this.lastPromptId = promptId;
32
+ }
33
+ else {
34
+ this.loopCount++;
35
+ }
36
+ // Check for conversation loops using CodeBolt state
37
+ const loopDetected = await this.checkLoopDetection();
38
+ if (loopDetected) {
39
+ // Send notification about loop detection
40
+ await codeboltjs_1.default.chat.sendNotificationEvent('Loop detected in conversation', 'debug');
41
+ return [this.createEvent('LoopDetected', {
42
+ promptId,
43
+ loopCount: this.loopCount,
44
+ maxLoops: this.maxLoops
45
+ })];
46
+ }
47
+ // Check if max loops reached
48
+ if (this.loopCount > this.maxLoops) {
49
+ return [this.createEvent('MaxLoopsReached', {
50
+ promptId,
51
+ loopCount: this.loopCount,
52
+ maxLoops: this.maxLoops
53
+ })];
54
+ }
55
+ // Continue processing
56
+ return [this.createEvent('LoopDetectionPassed', {
57
+ promptId,
58
+ loopCount: this.loopCount,
59
+ maxLoops: this.maxLoops
60
+ })];
61
+ }
62
+ catch (error) {
63
+ console.error('Error in LoopDetectionProcessor:', error);
64
+ return [this.createEvent('LoopDetectionError', {
65
+ error: error instanceof Error ? error.message : String(error)
66
+ })];
67
+ }
68
+ }
69
+ generatePromptId() {
70
+ return `prompt-${Date.now()}-${Math.random().toString(36).substr(2, 9)}`;
71
+ }
72
+ async resetLoopDetector(promptId) {
73
+ this.loopCount = 0;
74
+ this.setContext('currentPromptId', promptId);
75
+ this.setContext('loopDetectorReset', Date.now().toString());
76
+ // Update CodeBolt agent state
77
+ try {
78
+ await codeboltjs_1.default.cbstate.addToAgentState('lastPromptId', promptId);
79
+ await codeboltjs_1.default.cbstate.addToAgentState('loopDetectorReset', Date.now().toString());
80
+ }
81
+ catch (error) {
82
+ console.warn('Failed to update CodeBolt agent state:', error);
83
+ }
84
+ }
85
+ async checkLoopDetection() {
86
+ var _a;
87
+ try {
88
+ // Get recent messages from CodeBolt state
89
+ const agentState = await codeboltjs_1.default.cbstate.getAgentState();
90
+ const recentMessages = ((_a = agentState.data) === null || _a === void 0 ? void 0 : _a.recentMessages) || [];
91
+ // Simple loop detection: check for repeated patterns
92
+ if (recentMessages.length >= this.messageThreshold) {
93
+ const lastThree = recentMessages.slice(-3);
94
+ const previousThree = recentMessages.slice(-6, -3);
95
+ if (lastThree.length === 3 && previousThree.length === 3) {
96
+ const isLoop = JSON.stringify(lastThree) === JSON.stringify(previousThree);
97
+ if (isLoop) {
98
+ console.log('[Loop Detection] Loop detected in conversation');
99
+ return true;
100
+ }
101
+ }
102
+ }
103
+ return false;
104
+ }
105
+ catch (error) {
106
+ console.warn('Failed to check loop detection:', error);
107
+ return false;
108
+ }
109
+ }
110
+ // Public methods for external control
111
+ resetSession() {
112
+ this.loopCount = 0;
113
+ this.lastPromptId = null;
114
+ this.clearContext();
115
+ // Clear CodeBolt agent state
116
+ try {
117
+ codeboltjs_1.default.cbstate.addToAgentState('sessionTurnCount', '0');
118
+ codeboltjs_1.default.cbstate.addToAgentState('lastPromptId', '');
119
+ }
120
+ catch (error) {
121
+ console.warn('Failed to clear CodeBolt agent state:', error);
122
+ }
123
+ }
124
+ getCurrentLoopCount() {
125
+ return this.loopCount;
126
+ }
127
+ setMaxLoops(maxLoops) {
128
+ this.maxLoops = Math.max(1, maxLoops);
129
+ }
130
+ enableLoopDetectionForSession() {
131
+ this.enableLoopDetection = true;
132
+ }
133
+ disableLoopDetectionForSession() {
134
+ this.enableLoopDetection = false;
135
+ }
136
+ }
137
+ exports.LoopDetectionProcessor = LoopDetectionProcessor;
@@ -0,0 +1,30 @@
1
+ import { BaseProcessor, ProcessorInput, ProcessorOutput } from '../../processor';
2
+ export interface ResponseValidationProcessorOptions {
3
+ validateToolCalls?: boolean;
4
+ validateContent?: boolean;
5
+ validateStructure?: boolean;
6
+ allowEmptyContent?: boolean;
7
+ maxContentLength?: number;
8
+ requiredFields?: string[];
9
+ }
10
+ export interface ValidationResult {
11
+ isValid: boolean;
12
+ errors: string[];
13
+ warnings: string[];
14
+ fixes: string[];
15
+ }
16
+ export declare class ResponseValidationProcessor extends BaseProcessor {
17
+ private readonly enableToolCallValidation;
18
+ private readonly validateContent;
19
+ private readonly validateStructure;
20
+ private readonly allowEmptyContent;
21
+ private readonly maxContentLength;
22
+ private readonly requiredFields;
23
+ constructor(options?: ResponseValidationProcessorOptions);
24
+ processInput(input: ProcessorInput): Promise<ProcessorOutput[]>;
25
+ private validateMessage;
26
+ private validateMessageStructure;
27
+ private validateMessageContent;
28
+ private validateToolCallsInMessage;
29
+ getValidationSummary(validationResult: ValidationResult): string;
30
+ }