@codebolt/agent 1.1.0 → 2.2.2

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 (183) hide show
  1. package/README.md +157 -66
  2. package/dist/builderpattern/agent.d.ts +86 -0
  3. package/dist/builderpattern/agent.js +324 -0
  4. package/dist/builderpattern/followupquestionbuilder.d.ts +75 -0
  5. package/dist/builderpattern/followupquestionbuilder.js +197 -0
  6. package/dist/builderpattern/index.d.ts +14 -0
  7. package/dist/builderpattern/index.js +23 -0
  8. package/dist/builderpattern/llmoutputhandler.d.ts +102 -0
  9. package/dist/builderpattern/llmoutputhandler.js +452 -0
  10. package/dist/builderpattern/promptbuilder.d.ts +382 -0
  11. package/dist/builderpattern/promptbuilder.js +805 -0
  12. package/dist/builderpattern/systemprompt.d.ts +20 -0
  13. package/dist/builderpattern/systemprompt.js +48 -0
  14. package/dist/builderpattern/taskInstruction.d.ts +37 -0
  15. package/dist/builderpattern/taskInstruction.js +57 -0
  16. package/dist/builderpattern/usermessage.d.ts +70 -0
  17. package/dist/builderpattern/usermessage.js +123 -0
  18. package/dist/composablepattern/agent.d.ts +169 -0
  19. package/dist/composablepattern/agent.js +598 -0
  20. package/dist/composablepattern/codebolt-storage.d.ts +67 -0
  21. package/dist/composablepattern/codebolt-storage.js +320 -0
  22. package/dist/composablepattern/document.d.ts +149 -0
  23. package/dist/composablepattern/document.js +405 -0
  24. package/dist/composablepattern/examples/codebolt-integration-example.d.ts +12 -0
  25. package/dist/composablepattern/examples/codebolt-integration-example.js +218 -0
  26. package/dist/composablepattern/examples/codebolt-storage-example.d.ts +40 -0
  27. package/dist/composablepattern/examples/codebolt-storage-example.js +223 -0
  28. package/dist/composablepattern/examples/custom-steps-example.d.ts +20 -0
  29. package/dist/composablepattern/examples/custom-steps-example.js +455 -0
  30. package/dist/composablepattern/examples/document-agent.d.ts +17 -0
  31. package/dist/composablepattern/examples/document-agent.js +107 -0
  32. package/dist/composablepattern/examples/simple-codebolt-integration.d.ts +8 -0
  33. package/dist/composablepattern/examples/simple-codebolt-integration.js +164 -0
  34. package/dist/composablepattern/examples/weather-agent.d.ts +18 -0
  35. package/dist/composablepattern/examples/weather-agent.js +86 -0
  36. package/dist/composablepattern/examples/workflow-example.d.ts +12 -0
  37. package/dist/composablepattern/examples/workflow-example.js +463 -0
  38. package/dist/composablepattern/index.d.ts +63 -0
  39. package/dist/composablepattern/index.js +115 -0
  40. package/dist/composablepattern/memory.d.ts +89 -0
  41. package/dist/composablepattern/memory.js +141 -0
  42. package/dist/composablepattern/tool.d.ts +84 -0
  43. package/dist/composablepattern/tool.js +260 -0
  44. package/dist/composablepattern/types.d.ts +194 -0
  45. package/dist/composablepattern/types.js +6 -0
  46. package/dist/composablepattern/user-context.d.ts +214 -0
  47. package/dist/composablepattern/user-context.js +275 -0
  48. package/dist/composablepattern/workflow.d.ts +388 -0
  49. package/dist/composablepattern/workflow.js +562 -0
  50. package/dist/processor/agent/agentStep.d.ts +49 -0
  51. package/dist/processor/agent/agentStep.js +241 -0
  52. package/dist/processor/agent/toolExecutor.d.ts +19 -0
  53. package/dist/processor/agent/toolExecutor.js +90 -0
  54. package/dist/processor/index.d.ts +7 -0
  55. package/dist/processor/index.js +36 -0
  56. package/dist/processor/messageModifiers/baseMessageModifier.d.ts +20 -0
  57. package/dist/processor/messageModifiers/baseMessageModifier.js +55 -0
  58. package/dist/processor/processors/baseProcessor.d.ts +14 -0
  59. package/dist/processor/processors/baseProcessor.js +29 -0
  60. package/dist/processor/tools/baseTool.d.ts +10 -0
  61. package/dist/processor/tools/baseTool.js +20 -0
  62. package/dist/processor/tools/toolList.d.ts +9 -0
  63. package/dist/processor/tools/toolList.js +22 -0
  64. package/dist/processor/types/interfaces.d.ts +94 -0
  65. package/dist/processor/types/interfaces.js +2 -0
  66. package/dist/processor-pieces/base/baseMessageModifier.d.ts +12 -0
  67. package/dist/processor-pieces/base/baseMessageModifier.js +15 -0
  68. package/dist/processor-pieces/base/basePostInferenceProcessor.d.ts +13 -0
  69. package/dist/processor-pieces/base/basePostInferenceProcessor.js +18 -0
  70. package/dist/processor-pieces/base/basePostToolCallProcessor.d.ts +15 -0
  71. package/dist/processor-pieces/base/basePostToolCallProcessor.js +25 -0
  72. package/dist/processor-pieces/base/basePreInferenceProcessor.d.ts +12 -0
  73. package/dist/processor-pieces/base/basePreInferenceProcessor.js +17 -0
  74. package/dist/processor-pieces/base/basePreToolCallProcessor.d.ts +18 -0
  75. package/dist/processor-pieces/base/basePreToolCallProcessor.js +66 -0
  76. package/dist/processor-pieces/base/index.d.ts +9 -0
  77. package/dist/processor-pieces/base/index.js +18 -0
  78. package/dist/processor-pieces/index.d.ts +1 -0
  79. package/dist/processor-pieces/index.js +59 -0
  80. package/dist/processor-pieces/messageModifiers/addToolsListMessageModifier.d.ts +22 -0
  81. package/dist/processor-pieces/messageModifiers/addToolsListMessageModifier.js +144 -0
  82. package/dist/processor-pieces/messageModifiers/argumentProcessorModifier.d.ts +13 -0
  83. package/dist/processor-pieces/messageModifiers/argumentProcessorModifier.js +68 -0
  84. package/dist/processor-pieces/messageModifiers/atFileProcessorModifier.d.ts +25 -0
  85. package/dist/processor-pieces/messageModifiers/atFileProcessorModifier.js +453 -0
  86. package/dist/processor-pieces/messageModifiers/baseContextMessageModifier.d.ts +15 -0
  87. package/dist/processor-pieces/messageModifiers/baseContextMessageModifier.js +75 -0
  88. package/dist/processor-pieces/messageModifiers/baseSystemInstructionMessageModifier.d.ts +11 -0
  89. package/dist/processor-pieces/messageModifiers/baseSystemInstructionMessageModifier.js +46 -0
  90. package/dist/processor-pieces/messageModifiers/chatHistoryMessageModifier.d.ts +18 -0
  91. package/dist/processor-pieces/messageModifiers/chatHistoryMessageModifier.js +104 -0
  92. package/dist/processor-pieces/messageModifiers/chatRecordingModifier.d.ts +23 -0
  93. package/dist/processor-pieces/messageModifiers/chatRecordingModifier.js +173 -0
  94. package/dist/processor-pieces/messageModifiers/coreSystemPromptModifier.d.ts +14 -0
  95. package/dist/processor-pieces/messageModifiers/coreSystemPromptModifier.js +130 -0
  96. package/dist/processor-pieces/messageModifiers/directoryContextModifier.d.ts +36 -0
  97. package/dist/processor-pieces/messageModifiers/directoryContextModifier.js +418 -0
  98. package/dist/processor-pieces/messageModifiers/environmentContextModifier.d.ts +26 -0
  99. package/dist/processor-pieces/messageModifiers/environmentContextModifier.js +260 -0
  100. package/dist/processor-pieces/messageModifiers/handleUrlMessageModifier.d.ts +12 -0
  101. package/dist/processor-pieces/messageModifiers/handleUrlMessageModifier.js +60 -0
  102. package/dist/processor-pieces/messageModifiers/ideContextModifier.d.ts +34 -0
  103. package/dist/processor-pieces/messageModifiers/ideContextModifier.js +157 -0
  104. package/dist/processor-pieces/messageModifiers/imageAttachmentMessageModifier.d.ts +18 -0
  105. package/dist/processor-pieces/messageModifiers/imageAttachmentMessageModifier.js +222 -0
  106. package/dist/processor-pieces/messageModifiers/index.d.ts +11 -0
  107. package/dist/processor-pieces/messageModifiers/index.js +26 -0
  108. package/dist/processor-pieces/messageModifiers/memoryImportModifier.d.ts +15 -0
  109. package/dist/processor-pieces/messageModifiers/memoryImportModifier.js +129 -0
  110. package/dist/processor-pieces/messageModifiers/toolInjectionModifier.d.ts +20 -0
  111. package/dist/processor-pieces/messageModifiers/toolInjectionModifier.js +152 -0
  112. package/dist/processor-pieces/messageModifiers/workingDirectoryMessageModifier.d.ts +22 -0
  113. package/dist/processor-pieces/messageModifiers/workingDirectoryMessageModifier.js +194 -0
  114. package/dist/processor-pieces/postInferenceProcessors/loopDetectionModifier.d.ts +29 -0
  115. package/dist/processor-pieces/postInferenceProcessors/loopDetectionModifier.js +174 -0
  116. package/dist/processor-pieces/postToolCallProcessors/index.d.ts +1 -0
  117. package/dist/processor-pieces/postToolCallProcessors/index.js +2 -0
  118. package/dist/processor-pieces/postToolCallProcessors/shellProcessorModifier.d.ts +25 -0
  119. package/dist/processor-pieces/postToolCallProcessors/shellProcessorModifier.js +225 -0
  120. package/dist/processor-pieces/preInferenceProcessors/chatCompressionModifier.d.ts +35 -0
  121. package/dist/processor-pieces/preInferenceProcessors/chatCompressionModifier.js +255 -0
  122. package/dist/processor-pieces/preInferenceProcessors/index.d.ts +1 -0
  123. package/dist/processor-pieces/preInferenceProcessors/index.js +2 -0
  124. package/dist/processor-pieces/pretoolCallProcessors/index.d.ts +1 -0
  125. package/dist/processor-pieces/pretoolCallProcessors/index.js +2 -0
  126. package/dist/processor-pieces/processors/advancedLoopDetectionProcessor.d.ts +41 -0
  127. package/dist/processor-pieces/processors/advancedLoopDetectionProcessor.js +197 -0
  128. package/dist/processor-pieces/processors/chatCompressionProcessor.d.ts +26 -0
  129. package/dist/processor-pieces/processors/chatCompressionProcessor.js +90 -0
  130. package/dist/processor-pieces/processors/chatRecordingProcessor.d.ts +81 -0
  131. package/dist/processor-pieces/processors/chatRecordingProcessor.js +329 -0
  132. package/dist/processor-pieces/processors/contextManagementProcessor.d.ts +40 -0
  133. package/dist/processor-pieces/processors/contextManagementProcessor.js +305 -0
  134. package/dist/processor-pieces/processors/loopDetectionProcessor.d.ts +30 -0
  135. package/dist/processor-pieces/processors/loopDetectionProcessor.js +137 -0
  136. package/dist/processor-pieces/processors/responseValidationProcessor.d.ts +30 -0
  137. package/dist/processor-pieces/processors/responseValidationProcessor.js +228 -0
  138. package/dist/processor-pieces/processors/telemetryProcessor.d.ts +99 -0
  139. package/dist/processor-pieces/processors/telemetryProcessor.js +311 -0
  140. package/dist/processor-pieces/processors/tokenManagementProcessor.d.ts +37 -0
  141. package/dist/processor-pieces/processors/tokenManagementProcessor.js +178 -0
  142. package/dist/processor-pieces/processors/toolExecutionProcessor.d.ts +43 -0
  143. package/dist/processor-pieces/processors/toolExecutionProcessor.js +207 -0
  144. package/dist/processor-pieces/tools/fileTools.d.ts +26 -0
  145. package/dist/processor-pieces/tools/fileTools.js +162 -0
  146. package/dist/processor-pieces/utils/messageModifierHelper.d.ts +4 -0
  147. package/dist/processor-pieces/utils/messageModifierHelper.js +58 -0
  148. package/dist/types/commonTypes.d.ts +4 -0
  149. package/dist/types/processorTypes.d.ts +67 -0
  150. package/dist/types/processorTypes.js +58 -0
  151. package/dist/unified/agent/agent.d.ts +17 -0
  152. package/dist/unified/agent/agent.js +79 -0
  153. package/dist/unified/agent/team.d.ts +2 -0
  154. package/dist/unified/agent/team.js +6 -0
  155. package/dist/unified/agent/tools.d.ts +44 -0
  156. package/dist/unified/agent/tools.js +487 -0
  157. package/dist/unified/agent/workflow.d.ts +24 -0
  158. package/dist/unified/agent/workflow.js +275 -0
  159. package/dist/unified/agent/workflowControls.d.ts +11 -0
  160. package/dist/unified/agent/workflowControls.js +20 -0
  161. package/dist/unified/agent/workflowSteps.d.ts +63 -0
  162. package/dist/unified/agent/workflowSteps.js +284 -0
  163. package/dist/unified/base/agentStep.d.ts +32 -0
  164. package/dist/unified/base/agentStep.js +96 -0
  165. package/dist/unified/base/create/createInitialPromptGenerators.d.ts +5 -0
  166. package/dist/unified/base/create/createInitialPromptGenerators.js +17 -0
  167. package/dist/unified/base/index.d.ts +5 -0
  168. package/dist/unified/base/index.js +13 -0
  169. package/dist/unified/base/initialPromptGenerator.d.ts +48 -0
  170. package/dist/unified/base/initialPromptGenerator.js +118 -0
  171. package/dist/unified/base/responseExecutor.d.ts +36 -0
  172. package/dist/unified/base/responseExecutor.js +283 -0
  173. package/dist/unified/index.d.ts +18 -0
  174. package/dist/unified/index.js +42 -0
  175. package/dist/unified/team/team.d.ts +1 -0
  176. package/dist/unified/team/team.js +2 -0
  177. package/dist/unified/types/libTypes.d.ts +378 -0
  178. package/dist/unified/types/libTypes.js +6 -0
  179. package/dist/unified/types/types.d.ts +212 -0
  180. package/dist/unified/types/types.js +43 -0
  181. package/dist/unified/utils/utils.d.ts +40 -0
  182. package/dist/unified/utils/utils.js +219 -0
  183. package/package.json +29 -7
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -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
+ }
@@ -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,22 @@
1
+ import { BaseMessageModifier, MessageModifierInput, ProcessedMessage, ToolList } from '../../processor';
2
+ export interface AddToolsListMessageModifierOptions {
3
+ toolsList: ToolList;
4
+ addToolsLocation?: 'InsidePrompt' | 'Tool' | 'SystemMessage';
5
+ giveToolExamples?: boolean;
6
+ maxToolExamples?: number;
7
+ includeToolDescriptions?: boolean;
8
+ }
9
+ export declare class AddToolsListMessageModifier extends BaseMessageModifier {
10
+ private readonly toolsList;
11
+ private readonly addToolsLocation;
12
+ private readonly giveToolExamples;
13
+ private readonly maxToolExamples;
14
+ private readonly includeToolDescriptions;
15
+ constructor(options: AddToolsListMessageModifierOptions);
16
+ modify(input: MessageModifierInput): Promise<ProcessedMessage>;
17
+ private addToolsInsidePrompt;
18
+ private addToolsAsSystemMessage;
19
+ private addToolsAsToolCalls;
20
+ private generateToolsInfo;
21
+ private generateToolExample;
22
+ }
@@ -0,0 +1,144 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AddToolsListMessageModifier = void 0;
4
+ const processor_1 = require("../../processor");
5
+ class AddToolsListMessageModifier extends processor_1.BaseMessageModifier {
6
+ constructor(options) {
7
+ super({ context: options });
8
+ this.toolsList = options.toolsList;
9
+ this.addToolsLocation = options.addToolsLocation || 'SystemMessage';
10
+ this.giveToolExamples = options.giveToolExamples || false;
11
+ this.maxToolExamples = options.maxToolExamples || 2;
12
+ this.includeToolDescriptions = options.includeToolDescriptions !== false; // default true
13
+ }
14
+ async modify(input) {
15
+ try {
16
+ const { originalRequest, createdMessage, context } = input;
17
+ const tools = this.toolsList.getAllTools();
18
+ if (tools.length === 0) {
19
+ return createdMessage;
20
+ }
21
+ switch (this.addToolsLocation) {
22
+ case 'InsidePrompt':
23
+ return this.addToolsInsidePrompt(createdMessage, tools);
24
+ case 'SystemMessage':
25
+ return this.addToolsAsSystemMessage(createdMessage, tools);
26
+ case 'Tool':
27
+ return this.addToolsAsToolCalls(createdMessage, tools);
28
+ default:
29
+ return createdMessage;
30
+ }
31
+ }
32
+ catch (error) {
33
+ console.error('Error in AddToolsListMessageModifier:', error);
34
+ throw error;
35
+ }
36
+ }
37
+ addToolsInsidePrompt(createdMessage, tools) {
38
+ const toolsInfo = this.generateToolsInfo(tools);
39
+ // Modify the last user message to include tools information
40
+ const modifiedMessages = createdMessage.messages.map((message, index) => {
41
+ if (message.role === 'user' && index === createdMessage.messages.length - 1) {
42
+ return {
43
+ ...message,
44
+ content: `${message.content}\n\n--- Available Tools ---\n${toolsInfo}`
45
+ };
46
+ }
47
+ return message;
48
+ });
49
+ return {
50
+ messages: modifiedMessages,
51
+ metadata: {
52
+ ...createdMessage.metadata,
53
+ toolsListAdded: true,
54
+ toolsLocation: 'InsidePrompt',
55
+ toolsCount: tools.length
56
+ }
57
+ };
58
+ }
59
+ addToolsAsSystemMessage(createdMessage, tools) {
60
+ const toolsInfo = this.generateToolsInfo(tools);
61
+ const toolsMessage = {
62
+ role: 'system',
63
+ content: `Available Tools:\n${toolsInfo}`,
64
+ name: 'tools-list'
65
+ };
66
+ return {
67
+ messages: [toolsMessage, ...createdMessage.messages],
68
+ metadata: {
69
+ ...createdMessage.metadata,
70
+ toolsListAdded: true,
71
+ toolsLocation: 'SystemMessage',
72
+ toolsCount: tools.length
73
+ }
74
+ };
75
+ }
76
+ addToolsAsToolCalls(createdMessage, tools) {
77
+ // This would create a message that lists tools as available tool calls
78
+ const toolsMessage = {
79
+ role: 'assistant',
80
+ content: 'I have access to the following tools:',
81
+ tool_calls: tools.map((tool, index) => ({
82
+ id: `tool-info-${index}`,
83
+ function: {
84
+ name: tool.name,
85
+ arguments: tool.parameters || {}
86
+ }
87
+ }))
88
+ };
89
+ return {
90
+ messages: [...createdMessage.messages, toolsMessage],
91
+ metadata: {
92
+ ...createdMessage.metadata,
93
+ toolsListAdded: true,
94
+ toolsLocation: 'Tool',
95
+ toolsCount: tools.length
96
+ }
97
+ };
98
+ }
99
+ generateToolsInfo(tools) {
100
+ const toolsInfo = [];
101
+ tools.forEach((tool, index) => {
102
+ let toolInfo = `${index + 1}. **${tool.name}**`;
103
+ if (this.includeToolDescriptions && tool.description) {
104
+ toolInfo += `\n Description: ${tool.description}`;
105
+ }
106
+ if (tool.parameters) {
107
+ const params = typeof tool.parameters === 'object'
108
+ ? Object.keys(tool.parameters).join(', ')
109
+ : String(tool.parameters);
110
+ toolInfo += `\n Parameters: ${params}`;
111
+ }
112
+ if (this.giveToolExamples && index < this.maxToolExamples) {
113
+ const example = this.generateToolExample(tool);
114
+ if (example) {
115
+ toolInfo += `\n Example: ${example}`;
116
+ }
117
+ }
118
+ toolsInfo.push(toolInfo);
119
+ });
120
+ return toolsInfo.join('\n\n');
121
+ }
122
+ generateToolExample(tool) {
123
+ // Generate simple examples based on tool name
124
+ const toolName = tool.name.toLowerCase();
125
+ if (toolName.includes('read') && toolName.includes('file')) {
126
+ return `${tool.name}({ filePath: "example.txt" })`;
127
+ }
128
+ if (toolName.includes('write') && toolName.includes('file')) {
129
+ return `${tool.name}({ filePath: "output.txt", content: "Hello World" })`;
130
+ }
131
+ if (toolName.includes('delete') && toolName.includes('file')) {
132
+ return `${tool.name}({ filePath: "temp.txt" })`;
133
+ }
134
+ if (toolName.includes('move') && toolName.includes('file')) {
135
+ return `${tool.name}({ sourcePath: "old.txt", destinationPath: "new.txt" })`;
136
+ }
137
+ if (toolName.includes('copy') && toolName.includes('file')) {
138
+ return `${tool.name}({ sourcePath: "source.txt", destinationPath: "copy.txt" })`;
139
+ }
140
+ // Generic example
141
+ return `${tool.name}({ /* parameters */ })`;
142
+ }
143
+ }
144
+ exports.AddToolsListMessageModifier = AddToolsListMessageModifier;
@@ -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
+ }