@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.
- package/README.md +157 -66
- package/dist/{agent.js → builderpattern/agent.js} +2 -2
- package/dist/{followupquestionbuilder.d.ts → builderpattern/followupquestionbuilder.d.ts} +1 -1
- package/dist/{followupquestionbuilder.js → builderpattern/followupquestionbuilder.js} +1 -1
- package/dist/{index.d.ts → builderpattern/index.d.ts} +3 -3
- package/dist/{llmoutputhandler.d.ts → builderpattern/llmoutputhandler.d.ts} +1 -1
- package/dist/{llmoutputhandler.js → builderpattern/llmoutputhandler.js} +7 -7
- package/dist/{promptbuilder.d.ts → builderpattern/promptbuilder.d.ts} +3 -3
- package/dist/{taskInstruction.d.ts → builderpattern/taskInstruction.d.ts} +2 -2
- package/dist/{usermessage.d.ts → builderpattern/usermessage.d.ts} +9 -4
- package/dist/composablepattern/agent.d.ts +169 -0
- package/dist/composablepattern/agent.js +598 -0
- package/dist/composablepattern/codebolt-storage.d.ts +67 -0
- package/dist/composablepattern/codebolt-storage.js +320 -0
- package/dist/composablepattern/document.d.ts +149 -0
- package/dist/composablepattern/document.js +372 -0
- package/dist/composablepattern/examples/codebolt-integration-example.d.ts +12 -0
- package/dist/composablepattern/examples/codebolt-integration-example.js +218 -0
- package/dist/composablepattern/examples/codebolt-storage-example.d.ts +40 -0
- package/dist/composablepattern/examples/codebolt-storage-example.js +223 -0
- package/dist/composablepattern/examples/custom-steps-example.d.ts +20 -0
- package/dist/composablepattern/examples/custom-steps-example.js +455 -0
- package/dist/composablepattern/examples/document-agent.d.ts +17 -0
- package/dist/composablepattern/examples/document-agent.js +107 -0
- package/dist/composablepattern/examples/simple-codebolt-integration.d.ts +8 -0
- package/dist/composablepattern/examples/simple-codebolt-integration.js +164 -0
- package/dist/composablepattern/examples/weather-agent.d.ts +18 -0
- package/dist/composablepattern/examples/weather-agent.js +86 -0
- package/dist/composablepattern/examples/workflow-example.d.ts +12 -0
- package/dist/composablepattern/examples/workflow-example.js +463 -0
- package/dist/composablepattern/index.d.ts +63 -0
- package/dist/composablepattern/index.js +115 -0
- package/dist/composablepattern/memory.d.ts +89 -0
- package/dist/composablepattern/memory.js +141 -0
- package/dist/composablepattern/tool.d.ts +84 -0
- package/dist/composablepattern/tool.js +260 -0
- package/dist/composablepattern/types.d.ts +194 -0
- package/dist/composablepattern/types.js +6 -0
- package/dist/composablepattern/user-context.d.ts +214 -0
- package/dist/composablepattern/user-context.js +275 -0
- package/dist/composablepattern/workflow.d.ts +388 -0
- package/dist/composablepattern/workflow.js +562 -0
- package/dist/local-tools/fileTools.d.ts +26 -0
- package/dist/local-tools/fileTools.js +162 -0
- package/dist/processor/agent/agentStep.d.ts +49 -0
- package/dist/processor/agent/agentStep.js +241 -0
- package/dist/processor/agent/toolExecutor.d.ts +19 -0
- package/dist/processor/agent/toolExecutor.js +90 -0
- package/dist/processor/index.d.ts +7 -0
- package/dist/processor/index.js +36 -0
- package/dist/processor/messageModifiers/baseMessageModifier.d.ts +20 -0
- package/dist/processor/messageModifiers/baseMessageModifier.js +55 -0
- package/dist/processor/processors/baseProcessor.d.ts +14 -0
- package/dist/processor/processors/baseProcessor.js +29 -0
- package/dist/processor/tools/baseTool.d.ts +10 -0
- package/dist/processor/tools/baseTool.js +20 -0
- package/dist/processor/tools/toolList.d.ts +9 -0
- package/dist/processor/tools/toolList.js +22 -0
- package/dist/processor/types/interfaces.d.ts +117 -0
- package/dist/processor/types/interfaces.js +2 -0
- package/dist/processor-pieces/additionalModifiers/argumentProcessorModifier.d.ts +13 -0
- package/dist/processor-pieces/additionalModifiers/argumentProcessorModifier.js +68 -0
- package/dist/processor-pieces/additionalModifiers/atFileProcessorModifier.d.ts +15 -0
- package/dist/processor-pieces/additionalModifiers/atFileProcessorModifier.js +212 -0
- package/dist/processor-pieces/additionalModifiers/chatCompressionModifier.d.ts +19 -0
- package/dist/processor-pieces/additionalModifiers/chatCompressionModifier.js +110 -0
- package/dist/processor-pieces/additionalModifiers/chatRecordingModifier.d.ts +23 -0
- package/dist/processor-pieces/additionalModifiers/chatRecordingModifier.js +173 -0
- package/dist/processor-pieces/additionalModifiers/coreSystemPromptModifier.d.ts +14 -0
- package/dist/processor-pieces/additionalModifiers/coreSystemPromptModifier.js +93 -0
- package/dist/processor-pieces/additionalModifiers/directoryContextModifier.d.ts +30 -0
- package/dist/processor-pieces/additionalModifiers/directoryContextModifier.js +330 -0
- package/dist/processor-pieces/additionalModifiers/environmentContextModifier.d.ts +26 -0
- package/dist/processor-pieces/additionalModifiers/environmentContextModifier.js +269 -0
- package/dist/processor-pieces/additionalModifiers/fallbackHandlerModifier.d.ts +38 -0
- package/dist/processor-pieces/additionalModifiers/fallbackHandlerModifier.js +217 -0
- package/dist/processor-pieces/additionalModifiers/ideContextModifier.d.ts +34 -0
- package/dist/processor-pieces/additionalModifiers/ideContextModifier.js +147 -0
- package/dist/processor-pieces/additionalModifiers/index.d.ts +12 -0
- package/dist/processor-pieces/additionalModifiers/index.js +28 -0
- package/dist/processor-pieces/additionalModifiers/loopDetectionModifier.d.ts +29 -0
- package/dist/processor-pieces/additionalModifiers/loopDetectionModifier.js +155 -0
- package/dist/processor-pieces/additionalModifiers/memoryImportModifier.d.ts +15 -0
- package/dist/processor-pieces/additionalModifiers/memoryImportModifier.js +129 -0
- package/dist/processor-pieces/additionalModifiers/shellProcessorModifier.d.ts +25 -0
- package/dist/processor-pieces/additionalModifiers/shellProcessorModifier.js +169 -0
- package/dist/processor-pieces/additionalModifiers/toolInjectionModifier.d.ts +20 -0
- package/dist/processor-pieces/additionalModifiers/toolInjectionModifier.js +152 -0
- package/dist/processor-pieces/base/baseMessageModifier.d.ts +12 -0
- package/dist/processor-pieces/base/baseMessageModifier.js +15 -0
- package/dist/processor-pieces/base/basePostInferenceProcessor.d.ts +13 -0
- package/dist/processor-pieces/base/basePostInferenceProcessor.js +18 -0
- package/dist/processor-pieces/base/basePostToolCallProcessor.d.ts +15 -0
- package/dist/processor-pieces/base/basePostToolCallProcessor.js +25 -0
- package/dist/processor-pieces/base/basePreInferenceProcessor.d.ts +12 -0
- package/dist/processor-pieces/base/basePreInferenceProcessor.js +17 -0
- package/dist/processor-pieces/base/basePreToolCallProcessor.d.ts +18 -0
- package/dist/processor-pieces/base/basePreToolCallProcessor.js +66 -0
- package/dist/processor-pieces/base/index.d.ts +9 -0
- package/dist/processor-pieces/base/index.js +18 -0
- package/dist/processor-pieces/index.d.ts +1 -0
- package/dist/processor-pieces/index.js +59 -0
- package/dist/processor-pieces/messageModifiers/addCurrentDirectoryRootFilesModifier.d.ts +7 -0
- package/dist/processor-pieces/messageModifiers/addCurrentDirectoryRootFilesModifier.js +93 -0
- package/dist/processor-pieces/messageModifiers/addToolsListMessageModifier.d.ts +31 -0
- package/dist/processor-pieces/messageModifiers/addToolsListMessageModifier.js +145 -0
- package/dist/processor-pieces/messageModifiers/advancedSystemInstructionMessageModifier.d.ts +9 -0
- package/dist/processor-pieces/messageModifiers/advancedSystemInstructionMessageModifier.js +77 -0
- package/dist/processor-pieces/messageModifiers/argumentProcessorModifier.d.ts +13 -0
- package/dist/processor-pieces/messageModifiers/argumentProcessorModifier.js +68 -0
- package/dist/processor-pieces/messageModifiers/atFileProcessorModifier.d.ts +25 -0
- package/dist/processor-pieces/messageModifiers/atFileProcessorModifier.js +453 -0
- package/dist/processor-pieces/messageModifiers/baseContextMessageModifier.d.ts +7 -0
- package/dist/processor-pieces/messageModifiers/baseContextMessageModifier.js +67 -0
- package/dist/processor-pieces/messageModifiers/baseSystemInstructionMessageModifier.d.ts +9 -0
- package/dist/processor-pieces/messageModifiers/baseSystemInstructionMessageModifier.js +90 -0
- package/dist/processor-pieces/messageModifiers/chatCompressionModifier.d.ts +19 -0
- package/dist/processor-pieces/messageModifiers/chatCompressionModifier.js +110 -0
- package/dist/processor-pieces/messageModifiers/chatHistoryMessageModifier.d.ts +18 -0
- package/dist/processor-pieces/messageModifiers/chatHistoryMessageModifier.example.d.ts +20 -0
- package/dist/processor-pieces/messageModifiers/chatHistoryMessageModifier.example.js +124 -0
- package/dist/processor-pieces/messageModifiers/chatHistoryMessageModifier.js +104 -0
- package/dist/processor-pieces/messageModifiers/chatRecordingModifier.d.ts +23 -0
- package/dist/processor-pieces/messageModifiers/chatRecordingModifier.js +173 -0
- package/dist/processor-pieces/messageModifiers/coreSystemPromptModifier.d.ts +14 -0
- package/dist/processor-pieces/messageModifiers/coreSystemPromptModifier.js +130 -0
- package/dist/processor-pieces/messageModifiers/directoryContextModifier.d.ts +36 -0
- package/dist/processor-pieces/messageModifiers/directoryContextModifier.js +418 -0
- package/dist/processor-pieces/messageModifiers/environmentContext.d.ts +41 -0
- package/dist/processor-pieces/messageModifiers/environmentContext.js +355 -0
- package/dist/processor-pieces/messageModifiers/environmentContextModifier.d.ts +26 -0
- package/dist/processor-pieces/messageModifiers/environmentContextModifier.js +260 -0
- package/dist/processor-pieces/messageModifiers/handleUrlMessageModifier.d.ts +13 -0
- package/dist/processor-pieces/messageModifiers/handleUrlMessageModifier.js +59 -0
- package/dist/processor-pieces/messageModifiers/ideContextModifier.d.ts +34 -0
- package/dist/processor-pieces/messageModifiers/ideContextModifier.js +157 -0
- package/dist/processor-pieces/messageModifiers/imageAttachmentMessageModifier.d.ts +19 -0
- package/dist/processor-pieces/messageModifiers/imageAttachmentMessageModifier.js +221 -0
- package/dist/processor-pieces/messageModifiers/index.d.ts +11 -0
- package/dist/processor-pieces/messageModifiers/index.js +26 -0
- package/dist/processor-pieces/messageModifiers/memoryImportModifier.d.ts +15 -0
- package/dist/processor-pieces/messageModifiers/memoryImportModifier.js +129 -0
- package/dist/processor-pieces/messageModifiers/mentionedFilesModifier.d.ts +23 -0
- package/dist/processor-pieces/messageModifiers/mentionedFilesModifier.js +207 -0
- package/dist/processor-pieces/messageModifiers/simpleMessageModifier.d.ts +7 -0
- package/dist/processor-pieces/messageModifiers/simpleMessageModifier.js +26 -0
- package/dist/processor-pieces/messageModifiers/toolInjectionModifier.d.ts +20 -0
- package/dist/processor-pieces/messageModifiers/toolInjectionModifier.js +152 -0
- package/dist/processor-pieces/messageModifiers/workingDirectoryMessageModifier.d.ts +38 -0
- package/dist/processor-pieces/messageModifiers/workingDirectoryMessageModifier.js +392 -0
- package/dist/processor-pieces/postInference/llmOutputValidityProcessor.d.ts +1 -0
- package/dist/processor-pieces/postInference/llmOutputValidityProcessor.js +2 -0
- package/dist/processor-pieces/postInferenceProcessors/checkForNoToolCall.d.ts +7 -0
- package/dist/processor-pieces/postInferenceProcessors/checkForNoToolCall.js +24 -0
- package/dist/processor-pieces/postInferenceProcessors/loopDetectionModifier.d.ts +29 -0
- package/dist/processor-pieces/postInferenceProcessors/loopDetectionModifier.js +174 -0
- package/dist/processor-pieces/postToolCall/advancedLoopDetectionProcessor.d.ts +41 -0
- package/dist/processor-pieces/postToolCall/advancedLoopDetectionProcessor.js +197 -0
- package/dist/processor-pieces/postToolCall/chatCompressionProcessor.d.ts +26 -0
- package/dist/processor-pieces/postToolCall/chatCompressionProcessor.js +90 -0
- package/dist/processor-pieces/postToolCall/chatRecordingProcessor.d.ts +81 -0
- package/dist/processor-pieces/postToolCall/chatRecordingProcessor.js +329 -0
- package/dist/processor-pieces/postToolCall/contextManagementProcessor.d.ts +40 -0
- package/dist/processor-pieces/postToolCall/contextManagementProcessor.js +272 -0
- package/dist/processor-pieces/postToolCall/conversationCompactorProcessor.d.ts +49 -0
- package/dist/processor-pieces/postToolCall/conversationCompactorProcessor.js +291 -0
- package/dist/processor-pieces/postToolCall/conversationContinuityProcessor.d.ts +49 -0
- package/dist/processor-pieces/postToolCall/conversationContinuityProcessor.js +293 -0
- package/dist/processor-pieces/postToolCall/followUpConversationProcessor.d.ts +47 -0
- package/dist/processor-pieces/postToolCall/followUpConversationProcessor.js +249 -0
- package/dist/processor-pieces/postToolCall/loopDetectionProcessor.d.ts +30 -0
- package/dist/processor-pieces/postToolCall/loopDetectionProcessor.js +137 -0
- package/dist/processor-pieces/postToolCall/responseValidationProcessor.d.ts +30 -0
- package/dist/processor-pieces/postToolCall/responseValidationProcessor.js +228 -0
- package/dist/processor-pieces/postToolCall/telemetryProcessor.d.ts +99 -0
- package/dist/processor-pieces/postToolCall/telemetryProcessor.js +278 -0
- package/dist/processor-pieces/postToolCall/tokenManagementProcessor.d.ts +37 -0
- package/dist/processor-pieces/postToolCall/tokenManagementProcessor.js +178 -0
- package/dist/processor-pieces/postToolCall/toolExecutionProcessor.d.ts +43 -0
- package/dist/processor-pieces/postToolCall/toolExecutionProcessor.js +207 -0
- package/dist/processor-pieces/postToolCallProcessors/index.d.ts +1 -0
- package/dist/processor-pieces/postToolCallProcessors/index.js +2 -0
- package/dist/processor-pieces/postToolCallProcessors/shellProcessorModifier.d.ts +25 -0
- package/dist/processor-pieces/postToolCallProcessors/shellProcessorModifier.js +225 -0
- package/dist/processor-pieces/preInference/conversationCompactorProcessor.d.ts +52 -0
- package/dist/processor-pieces/preInference/conversationCompactorProcessor.js +264 -0
- package/dist/processor-pieces/preInference/conversationContinuityProcessor.d.ts +49 -0
- package/dist/processor-pieces/preInference/conversationContinuityProcessor.js +293 -0
- package/dist/processor-pieces/preInferenceProcessors/chatCompressionModifier.d.ts +35 -0
- package/dist/processor-pieces/preInferenceProcessors/chatCompressionModifier.js +255 -0
- package/dist/processor-pieces/preInferenceProcessors/conversationCompaction.d.ts +7 -0
- package/dist/processor-pieces/preInferenceProcessors/conversationCompaction.js +31 -0
- package/dist/processor-pieces/preInferenceProcessors/index.d.ts +1 -0
- package/dist/processor-pieces/preInferenceProcessors/index.js +2 -0
- package/dist/processor-pieces/preToolCall/index.d.ts +9 -0
- package/dist/processor-pieces/preToolCall/index.js +18 -0
- package/dist/processor-pieces/preToolCall/localToolInterceptorProcessor.d.ts +58 -0
- package/dist/processor-pieces/preToolCall/localToolInterceptorProcessor.js +444 -0
- package/dist/processor-pieces/preToolCall/toolParameterModifierProcessor.d.ts +44 -0
- package/dist/processor-pieces/preToolCall/toolParameterModifierProcessor.js +367 -0
- package/dist/processor-pieces/preToolCall/toolValidationProcessor.d.ts +58 -0
- package/dist/processor-pieces/preToolCall/toolValidationProcessor.js +391 -0
- package/dist/processor-pieces/pretoolCallProcessors/index.d.ts +1 -0
- package/dist/processor-pieces/pretoolCallProcessors/index.js +2 -0
- package/dist/processor-pieces/processors/advancedLoopDetectionProcessor.d.ts +41 -0
- package/dist/processor-pieces/processors/advancedLoopDetectionProcessor.js +197 -0
- package/dist/processor-pieces/processors/chatCompressionProcessor.d.ts +26 -0
- package/dist/processor-pieces/processors/chatCompressionProcessor.js +90 -0
- package/dist/processor-pieces/processors/chatRecordingProcessor.d.ts +81 -0
- package/dist/processor-pieces/processors/chatRecordingProcessor.js +329 -0
- package/dist/processor-pieces/processors/contextManagementProcessor.d.ts +40 -0
- package/dist/processor-pieces/processors/contextManagementProcessor.js +305 -0
- package/dist/processor-pieces/processors/loopDetectionProcessor.d.ts +30 -0
- package/dist/processor-pieces/processors/loopDetectionProcessor.js +137 -0
- package/dist/processor-pieces/processors/responseValidationProcessor.d.ts +30 -0
- package/dist/processor-pieces/processors/responseValidationProcessor.js +228 -0
- package/dist/processor-pieces/processors/telemetryProcessor.d.ts +99 -0
- package/dist/processor-pieces/processors/telemetryProcessor.js +311 -0
- package/dist/processor-pieces/processors/tokenManagementProcessor.d.ts +37 -0
- package/dist/processor-pieces/processors/tokenManagementProcessor.js +178 -0
- package/dist/processor-pieces/processors/toolExecutionProcessor.d.ts +43 -0
- package/dist/processor-pieces/processors/toolExecutionProcessor.js +207 -0
- package/dist/processor-pieces/tools/fileTools.d.ts +26 -0
- package/dist/processor-pieces/tools/fileTools.js +162 -0
- package/dist/processor-pieces/utils/messageModifierHelper.d.ts +4 -0
- package/dist/processor-pieces/utils/messageModifierHelper.js +58 -0
- package/dist/types/commonTypes.d.ts +4 -0
- package/dist/types/processorTypes.d.ts +67 -0
- package/dist/types/processorTypes.js +58 -0
- package/dist/unified/agent/agent.d.ts +17 -0
- package/dist/unified/agent/agent.js +79 -0
- package/dist/unified/agent/team.d.ts +2 -0
- package/dist/unified/agent/team.js +6 -0
- package/dist/unified/agent/tool.d.ts +99 -0
- package/dist/unified/agent/tool.js +440 -0
- package/dist/unified/agent/tools.d.ts +44 -0
- package/dist/unified/agent/tools.js +487 -0
- package/dist/unified/agent/workflow.d.ts +24 -0
- package/dist/unified/agent/workflow.js +275 -0
- package/dist/unified/agent/workflowControls.d.ts +11 -0
- package/dist/unified/agent/workflowControls.js +20 -0
- package/dist/unified/agent/workflowSteps.d.ts +63 -0
- package/dist/unified/agent/workflowSteps.js +284 -0
- package/dist/unified/base/agentStep.d.ts +32 -0
- package/dist/unified/base/agentStep.js +96 -0
- package/dist/unified/base/create/createInitialPromptGenerators.d.ts +5 -0
- package/dist/unified/base/create/createInitialPromptGenerators.js +17 -0
- package/dist/unified/base/index.d.ts +5 -0
- package/dist/unified/base/index.js +13 -0
- package/dist/unified/base/initialPromptGenerator.d.ts +48 -0
- package/dist/unified/base/initialPromptGenerator.js +118 -0
- package/dist/unified/base/responseExecutor.d.ts +36 -0
- package/dist/unified/base/responseExecutor.js +283 -0
- package/dist/unified/examples/agentExample.d.ts +46 -0
- package/dist/unified/examples/agentExample.js +464 -0
- package/dist/unified/examples/documentationPatternExample.d.ts +10 -0
- package/dist/unified/examples/documentationPatternExample.js +385 -0
- package/dist/unified/examples/followUpProcessorsExample.d.ts +45 -0
- package/dist/unified/examples/followUpProcessorsExample.js +311 -0
- package/dist/unified/examples/orchestratorExample.d.ts +16 -0
- package/dist/unified/examples/orchestratorExample.js +415 -0
- package/dist/unified/examples/preToolCallProcessorsExample.d.ts +36 -0
- package/dist/unified/examples/preToolCallProcessorsExample.js +458 -0
- package/dist/unified/examples/workflowExample.d.ts +12 -0
- package/dist/unified/examples/workflowExample.js +497 -0
- package/dist/unified/index.d.ts +18 -0
- package/dist/unified/index.js +42 -0
- package/dist/unified/orchestrator/orchestrator.d.ts +260 -0
- package/dist/unified/orchestrator/orchestrator.js +519 -0
- package/dist/unified/team/team.d.ts +1 -0
- package/dist/unified/team/team.js +2 -0
- package/dist/unified/types/libTypes.d.ts +378 -0
- package/dist/unified/types/libTypes.js +6 -0
- package/dist/unified/types/types.d.ts +212 -0
- package/dist/unified/types/types.js +43 -0
- package/dist/unified/utils/utils.d.ts +40 -0
- package/dist/unified/utils/utils.js +219 -0
- package/package.json +35 -13
- /package/dist/{agent.d.ts → builderpattern/agent.d.ts} +0 -0
- /package/dist/{index.js → builderpattern/index.js} +0 -0
- /package/dist/{promptbuilder.js → builderpattern/promptbuilder.js} +0 -0
- /package/dist/{systemprompt.d.ts → builderpattern/systemprompt.d.ts} +0 -0
- /package/dist/{systemprompt.js → builderpattern/systemprompt.js} +0 -0
- /package/dist/{taskInstruction.js → builderpattern/taskInstruction.js} +0 -0
- /package/dist/{usermessage.js → builderpattern/usermessage.js} +0 -0
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.HandleUrlMessageModifier = void 0;
|
|
4
|
+
const processor_1 = require("../../processor");
|
|
5
|
+
class HandleUrlMessageModifier extends processor_1.BaseMessageModifier {
|
|
6
|
+
constructor(options = {}) {
|
|
7
|
+
super({ context: options });
|
|
8
|
+
this.googleSearchEnabled = options.googleSearchEnabled || false;
|
|
9
|
+
this.fetchUrlContent = options.fetchUrlContent || false;
|
|
10
|
+
}
|
|
11
|
+
async modify(originalRequest, createdMessage) {
|
|
12
|
+
try {
|
|
13
|
+
// Check if the request contains URLs
|
|
14
|
+
const urls = this.extractUrls(originalRequest);
|
|
15
|
+
if (urls.length > 0) {
|
|
16
|
+
let contextContent = `URLs detected: ${urls.join(', ')}. ${this.googleSearchEnabled ? 'Google search is enabled.' : 'Google search is disabled.'}`;
|
|
17
|
+
// Fetch URL content if enabled
|
|
18
|
+
if (this.fetchUrlContent) {
|
|
19
|
+
contextContent += '\n\nURL Content Fetching: Enabled (content would be fetched in a real implementation)';
|
|
20
|
+
// In a real implementation, you would fetch the content here
|
|
21
|
+
// const urlContents = await Promise.all(urls.map(url => this.fetchContent(url)));
|
|
22
|
+
}
|
|
23
|
+
// Add URL context to the message
|
|
24
|
+
const urlContextMessage = {
|
|
25
|
+
role: 'system',
|
|
26
|
+
content: contextContent,
|
|
27
|
+
name: 'url-detector'
|
|
28
|
+
};
|
|
29
|
+
return {
|
|
30
|
+
messages: [...createdMessage.messages, urlContextMessage],
|
|
31
|
+
metadata: {
|
|
32
|
+
...createdMessage.metadata,
|
|
33
|
+
urlsDetected: urls,
|
|
34
|
+
googleSearchEnabled: this.googleSearchEnabled,
|
|
35
|
+
fetchUrlContent: this.fetchUrlContent
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
return createdMessage;
|
|
40
|
+
}
|
|
41
|
+
catch (error) {
|
|
42
|
+
console.error('Error in HandleUrlMessageModifier:', error);
|
|
43
|
+
throw error;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
extractUrls(request) {
|
|
47
|
+
if (typeof request === 'string') {
|
|
48
|
+
const urlRegex = /https?:\/\/[^\s]+/g;
|
|
49
|
+
return request.match(urlRegex) || [];
|
|
50
|
+
}
|
|
51
|
+
if (typeof request === 'object' && request !== null) {
|
|
52
|
+
const requestString = JSON.stringify(request);
|
|
53
|
+
const urlRegex = /https?:\/\/[^\s]+/g;
|
|
54
|
+
return requestString.match(urlRegex) || [];
|
|
55
|
+
}
|
|
56
|
+
return [];
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
exports.HandleUrlMessageModifier = HandleUrlMessageModifier;
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { ProcessedMessage } from "@codebolt/types/agent";
|
|
2
|
+
import { BaseMessageModifier } from "../base";
|
|
3
|
+
import { FlatUserMessage } from "@codebolt/types/sdk";
|
|
4
|
+
export interface IdeContextOptions {
|
|
5
|
+
includeOpenFiles?: boolean;
|
|
6
|
+
includeActiveFile?: boolean;
|
|
7
|
+
includeCursorPosition?: boolean;
|
|
8
|
+
includeSelectedText?: boolean;
|
|
9
|
+
maxOpenFiles?: number;
|
|
10
|
+
}
|
|
11
|
+
export interface FileInfo {
|
|
12
|
+
path: string;
|
|
13
|
+
isActive?: boolean;
|
|
14
|
+
cursor?: {
|
|
15
|
+
line: number;
|
|
16
|
+
character: number;
|
|
17
|
+
};
|
|
18
|
+
selectedText?: string;
|
|
19
|
+
}
|
|
20
|
+
export interface IdeContext {
|
|
21
|
+
workspaceState?: {
|
|
22
|
+
openFiles: FileInfo[];
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
export declare class IdeContextModifier extends BaseMessageModifier {
|
|
26
|
+
private readonly options;
|
|
27
|
+
private lastSentIdeContext?;
|
|
28
|
+
private forceFullContext;
|
|
29
|
+
constructor(options?: IdeContextOptions);
|
|
30
|
+
modify(originalRequest: FlatUserMessage, createdMessage: ProcessedMessage): Promise<ProcessedMessage>;
|
|
31
|
+
private getIdeContext;
|
|
32
|
+
private getIdeContextParts;
|
|
33
|
+
setForceFullContext(force: boolean): void;
|
|
34
|
+
}
|
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.IdeContextModifier = void 0;
|
|
4
|
+
const base_1 = require("../base");
|
|
5
|
+
class IdeContextModifier extends base_1.BaseMessageModifier {
|
|
6
|
+
constructor(options = {}) {
|
|
7
|
+
super();
|
|
8
|
+
this.forceFullContext = true;
|
|
9
|
+
this.options = {
|
|
10
|
+
includeOpenFiles: options.includeOpenFiles !== false,
|
|
11
|
+
includeActiveFile: options.includeActiveFile !== false,
|
|
12
|
+
includeCursorPosition: options.includeCursorPosition !== false,
|
|
13
|
+
includeSelectedText: options.includeSelectedText !== false,
|
|
14
|
+
maxOpenFiles: options.maxOpenFiles || 10
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
modify(originalRequest, createdMessage) {
|
|
18
|
+
try {
|
|
19
|
+
// Get IDE context from the original request (activeFile, openedFiles)
|
|
20
|
+
const ideContext = this.getIdeContext(originalRequest, createdMessage.metadata);
|
|
21
|
+
if (!ideContext) {
|
|
22
|
+
return Promise.resolve(createdMessage);
|
|
23
|
+
}
|
|
24
|
+
const { contextParts, newIdeContext } = this.getIdeContextParts(this.forceFullContext, ideContext);
|
|
25
|
+
if (contextParts.length === 0) {
|
|
26
|
+
return Promise.resolve(createdMessage);
|
|
27
|
+
}
|
|
28
|
+
const ideContextMessage = {
|
|
29
|
+
role: 'system',
|
|
30
|
+
content: contextParts.join('\n')
|
|
31
|
+
};
|
|
32
|
+
// Find existing system message or add new one
|
|
33
|
+
const messages = [...createdMessage.message.messages];
|
|
34
|
+
const systemMessageIndex = messages.findIndex(msg => msg.role === 'system');
|
|
35
|
+
if (systemMessageIndex !== -1) {
|
|
36
|
+
// Append to existing system message
|
|
37
|
+
messages[systemMessageIndex] = {
|
|
38
|
+
...messages[systemMessageIndex],
|
|
39
|
+
content: `${messages[systemMessageIndex].content}\n\n${ideContextMessage.content}`
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
else {
|
|
43
|
+
// Add new system message
|
|
44
|
+
messages.unshift(ideContextMessage);
|
|
45
|
+
}
|
|
46
|
+
this.lastSentIdeContext = newIdeContext;
|
|
47
|
+
this.forceFullContext = false;
|
|
48
|
+
return Promise.resolve({
|
|
49
|
+
message: {
|
|
50
|
+
...createdMessage.message,
|
|
51
|
+
messages
|
|
52
|
+
},
|
|
53
|
+
metadata: {
|
|
54
|
+
...createdMessage.metadata,
|
|
55
|
+
ideContextAdded: true,
|
|
56
|
+
ideContextType: this.forceFullContext ? 'full' : 'incremental'
|
|
57
|
+
}
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
catch (error) {
|
|
61
|
+
console.error('Error in IdeContextModifier:', error);
|
|
62
|
+
return Promise.resolve(createdMessage);
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
getIdeContext(originalRequest, metadata) {
|
|
66
|
+
// Try to get IDE context from the metadata parameter first
|
|
67
|
+
if (metadata === null || metadata === void 0 ? void 0 : metadata.ideContext) {
|
|
68
|
+
return metadata.ideContext;
|
|
69
|
+
}
|
|
70
|
+
// Extract IDE context from the original message
|
|
71
|
+
const activeFile = originalRequest.activeFile;
|
|
72
|
+
const openedFiles = originalRequest.openedFiles;
|
|
73
|
+
if (!activeFile && (!openedFiles || openedFiles.length === 0)) {
|
|
74
|
+
return undefined;
|
|
75
|
+
}
|
|
76
|
+
const openFiles = [];
|
|
77
|
+
// Add active file if present (activeFile is just a path string)
|
|
78
|
+
if (activeFile) {
|
|
79
|
+
const activeFileInfo = {
|
|
80
|
+
path: activeFile,
|
|
81
|
+
isActive: true
|
|
82
|
+
};
|
|
83
|
+
openFiles.push(activeFileInfo);
|
|
84
|
+
}
|
|
85
|
+
// Add other opened files (openedFiles is array of path strings)
|
|
86
|
+
if (openedFiles && Array.isArray(openedFiles)) {
|
|
87
|
+
const otherFiles = openedFiles
|
|
88
|
+
.filter(filePath => filePath !== activeFile) // Exclude active file from others
|
|
89
|
+
.map(filePath => ({
|
|
90
|
+
path: filePath,
|
|
91
|
+
isActive: false
|
|
92
|
+
}));
|
|
93
|
+
openFiles.push(...otherFiles);
|
|
94
|
+
}
|
|
95
|
+
if (openFiles.length === 0) {
|
|
96
|
+
return undefined;
|
|
97
|
+
}
|
|
98
|
+
return {
|
|
99
|
+
workspaceState: {
|
|
100
|
+
openFiles
|
|
101
|
+
}
|
|
102
|
+
};
|
|
103
|
+
}
|
|
104
|
+
getIdeContextParts(forceFullContext, currentIdeContext) {
|
|
105
|
+
var _a;
|
|
106
|
+
if (!((_a = currentIdeContext === null || currentIdeContext === void 0 ? void 0 : currentIdeContext.workspaceState) === null || _a === void 0 ? void 0 : _a.openFiles)) {
|
|
107
|
+
return { contextParts: [], newIdeContext: undefined };
|
|
108
|
+
}
|
|
109
|
+
if (forceFullContext || !this.lastSentIdeContext) {
|
|
110
|
+
// Send full context as JSON
|
|
111
|
+
const openFiles = currentIdeContext.workspaceState.openFiles;
|
|
112
|
+
const activeFile = openFiles.find((f) => f.isActive);
|
|
113
|
+
const otherOpenFiles = openFiles
|
|
114
|
+
.filter((f) => !f.isActive)
|
|
115
|
+
.map((f) => f.path)
|
|
116
|
+
.slice(0, this.options.maxOpenFiles - 1); // Reserve space for active file
|
|
117
|
+
const contextData = {};
|
|
118
|
+
if (activeFile && this.options.includeActiveFile) {
|
|
119
|
+
const activeFileData = {
|
|
120
|
+
path: activeFile.path
|
|
121
|
+
};
|
|
122
|
+
if (this.options.includeCursorPosition && activeFile.cursor) {
|
|
123
|
+
activeFileData.cursor = {
|
|
124
|
+
line: activeFile.cursor.line,
|
|
125
|
+
character: activeFile.cursor.character,
|
|
126
|
+
};
|
|
127
|
+
}
|
|
128
|
+
if (this.options.includeSelectedText && activeFile.selectedText) {
|
|
129
|
+
activeFileData.selectedText = activeFile.selectedText;
|
|
130
|
+
}
|
|
131
|
+
contextData['activeFile'] = activeFileData;
|
|
132
|
+
}
|
|
133
|
+
if (this.options.includeOpenFiles && otherOpenFiles.length > 0) {
|
|
134
|
+
contextData['otherOpenFiles'] = otherOpenFiles;
|
|
135
|
+
}
|
|
136
|
+
if (Object.keys(contextData).length === 0) {
|
|
137
|
+
return { contextParts: [], newIdeContext: currentIdeContext };
|
|
138
|
+
}
|
|
139
|
+
const jsonString = JSON.stringify(contextData, null, 2);
|
|
140
|
+
const contextParts = [
|
|
141
|
+
"Here is the user's editor context as a JSON object. This is for your information only.",
|
|
142
|
+
'```json',
|
|
143
|
+
jsonString,
|
|
144
|
+
'```',
|
|
145
|
+
"Don't acknowledge this context in your response unless specifically asked about it."
|
|
146
|
+
];
|
|
147
|
+
return { contextParts, newIdeContext: currentIdeContext };
|
|
148
|
+
}
|
|
149
|
+
// For incremental updates, we would compare with lastSentIdeContext
|
|
150
|
+
// and only send changes. For now, we'll skip incremental updates.
|
|
151
|
+
return { contextParts: [], newIdeContext: currentIdeContext };
|
|
152
|
+
}
|
|
153
|
+
setForceFullContext(force) {
|
|
154
|
+
this.forceFullContext = force;
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
exports.IdeContextModifier = IdeContextModifier;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { FlatUserMessage } from '@codebolt/types/sdk';
|
|
2
|
+
import { BaseMessageModifier, ProcessedMessage } from '../../processor';
|
|
3
|
+
export interface ImageAttachmentMessageModifierOptions {
|
|
4
|
+
passImageAs?: 'URL' | 'Base64' | 'Path';
|
|
5
|
+
supportedFormats?: string[];
|
|
6
|
+
maxImageSize?: number;
|
|
7
|
+
}
|
|
8
|
+
export declare class ImageAttachmentMessageModifier extends BaseMessageModifier {
|
|
9
|
+
private readonly passImageAs;
|
|
10
|
+
private readonly supportedFormats;
|
|
11
|
+
private readonly maxImageSize;
|
|
12
|
+
constructor(options?: ImageAttachmentMessageModifierOptions);
|
|
13
|
+
modify(originalRequest: FlatUserMessage, createdMessage: ProcessedMessage): Promise<ProcessedMessage>;
|
|
14
|
+
private extractImageReferences;
|
|
15
|
+
private isImagePath;
|
|
16
|
+
private processImage;
|
|
17
|
+
private processUrlImage;
|
|
18
|
+
private processLocalImage;
|
|
19
|
+
}
|
|
@@ -0,0 +1,221 @@
|
|
|
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.ImageAttachmentMessageModifier = void 0;
|
|
37
|
+
const processor_1 = require("../../processor");
|
|
38
|
+
const fs = __importStar(require("fs/promises"));
|
|
39
|
+
const path = __importStar(require("path"));
|
|
40
|
+
class ImageAttachmentMessageModifier extends processor_1.BaseMessageModifier {
|
|
41
|
+
constructor(options = {}) {
|
|
42
|
+
super({ context: options });
|
|
43
|
+
this.passImageAs = options.passImageAs || 'URL';
|
|
44
|
+
this.supportedFormats = options.supportedFormats || ['.png', '.jpg', '.jpeg', '.gif', '.webp', '.bmp'];
|
|
45
|
+
this.maxImageSize = options.maxImageSize || 10 * 1024 * 1024; // 10MB default
|
|
46
|
+
}
|
|
47
|
+
async modify(originalRequest, createdMessage) {
|
|
48
|
+
try {
|
|
49
|
+
// Extract image references from the request
|
|
50
|
+
const imageReferences = this.extractImageReferences(originalRequest);
|
|
51
|
+
if (imageReferences.length === 0) {
|
|
52
|
+
return createdMessage;
|
|
53
|
+
}
|
|
54
|
+
const processedImages = [];
|
|
55
|
+
for (const imageRef of imageReferences) {
|
|
56
|
+
try {
|
|
57
|
+
const processedImage = await this.processImage(imageRef);
|
|
58
|
+
if (processedImage) {
|
|
59
|
+
processedImages.push(processedImage);
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
catch (error) {
|
|
63
|
+
console.error(`Error processing image ${imageRef}:`, error);
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
if (processedImages.length === 0) {
|
|
67
|
+
return createdMessage;
|
|
68
|
+
}
|
|
69
|
+
// Add image context message
|
|
70
|
+
const imageContextMessage = {
|
|
71
|
+
role: 'system',
|
|
72
|
+
content: `Images attached to this conversation (${this.passImageAs} format):\n${processedImages.map((img, idx) => `${idx + 1}. ${img.description || img.reference}`).join('\n')}`,
|
|
73
|
+
name: 'image-attachments'
|
|
74
|
+
};
|
|
75
|
+
// Modify user messages to include image references
|
|
76
|
+
const modifiedMessages = createdMessage.messages.map(message => {
|
|
77
|
+
if (message.role === 'user') {
|
|
78
|
+
return {
|
|
79
|
+
...message,
|
|
80
|
+
attachments: processedImages
|
|
81
|
+
};
|
|
82
|
+
}
|
|
83
|
+
return message;
|
|
84
|
+
});
|
|
85
|
+
return {
|
|
86
|
+
messages: [imageContextMessage, ...modifiedMessages],
|
|
87
|
+
metadata: {
|
|
88
|
+
...createdMessage.metadata,
|
|
89
|
+
imagesAttached: processedImages.length,
|
|
90
|
+
imageFormat: this.passImageAs,
|
|
91
|
+
processedImages
|
|
92
|
+
}
|
|
93
|
+
};
|
|
94
|
+
}
|
|
95
|
+
catch (error) {
|
|
96
|
+
console.error('Error in ImageAttachmentMessageModifier:', error);
|
|
97
|
+
throw error;
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
extractImageReferences(request) {
|
|
101
|
+
const imageRefs = [];
|
|
102
|
+
if (typeof request === 'string') {
|
|
103
|
+
// Look for image file paths or URLs
|
|
104
|
+
const imageRegex = /(?:\.png|\.jpg|\.jpeg|\.gif|\.webp|\.bmp|https?:\/\/[^\s]+\.(?:png|jpg|jpeg|gif|webp|bmp))/gi;
|
|
105
|
+
const matches = request.match(imageRegex);
|
|
106
|
+
if (matches) {
|
|
107
|
+
imageRefs.push(...matches);
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
if (typeof request === 'object' && request !== null) {
|
|
111
|
+
// Look for image properties in the request object
|
|
112
|
+
const searchForImages = (obj) => {
|
|
113
|
+
if (Array.isArray(obj)) {
|
|
114
|
+
obj.forEach(searchForImages);
|
|
115
|
+
}
|
|
116
|
+
else if (typeof obj === 'object' && obj !== null) {
|
|
117
|
+
Object.values(obj).forEach(value => {
|
|
118
|
+
if (typeof value === 'string' && this.isImagePath(value)) {
|
|
119
|
+
imageRefs.push(value);
|
|
120
|
+
}
|
|
121
|
+
else if (typeof value === 'object') {
|
|
122
|
+
searchForImages(value);
|
|
123
|
+
}
|
|
124
|
+
});
|
|
125
|
+
}
|
|
126
|
+
};
|
|
127
|
+
searchForImages(request);
|
|
128
|
+
}
|
|
129
|
+
return [...new Set(imageRefs)]; // Remove duplicates
|
|
130
|
+
}
|
|
131
|
+
isImagePath(str) {
|
|
132
|
+
const ext = path.extname(str).toLowerCase();
|
|
133
|
+
return this.supportedFormats.includes(ext) || /^https?:\/\/[^\s]+\.(?:png|jpg|jpeg|gif|webp|bmp)/i.test(str);
|
|
134
|
+
}
|
|
135
|
+
async processImage(imageRef) {
|
|
136
|
+
try {
|
|
137
|
+
if (imageRef.startsWith('http')) {
|
|
138
|
+
// URL image
|
|
139
|
+
return this.processUrlImage(imageRef);
|
|
140
|
+
}
|
|
141
|
+
else {
|
|
142
|
+
// Local file path
|
|
143
|
+
return this.processLocalImage(imageRef);
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
catch (error) {
|
|
147
|
+
console.error(`Error processing image ${imageRef}:`, error);
|
|
148
|
+
return null;
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
async processUrlImage(url) {
|
|
152
|
+
switch (this.passImageAs) {
|
|
153
|
+
case 'URL':
|
|
154
|
+
return {
|
|
155
|
+
type: 'url',
|
|
156
|
+
reference: url,
|
|
157
|
+
description: `Image from URL: ${url}`
|
|
158
|
+
};
|
|
159
|
+
case 'Base64':
|
|
160
|
+
// In a real implementation, you would fetch and convert to base64
|
|
161
|
+
return {
|
|
162
|
+
type: 'base64',
|
|
163
|
+
reference: url,
|
|
164
|
+
description: `Image from URL (would be converted to base64): ${url}`,
|
|
165
|
+
note: 'Base64 conversion not implemented for URLs in this demo'
|
|
166
|
+
};
|
|
167
|
+
case 'Path':
|
|
168
|
+
return {
|
|
169
|
+
type: 'path',
|
|
170
|
+
reference: url,
|
|
171
|
+
description: `Image URL: ${url}`
|
|
172
|
+
};
|
|
173
|
+
default:
|
|
174
|
+
return null;
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
async processLocalImage(filePath) {
|
|
178
|
+
try {
|
|
179
|
+
// Check if file exists and get stats
|
|
180
|
+
const stats = await fs.stat(filePath);
|
|
181
|
+
if (stats.size > this.maxImageSize) {
|
|
182
|
+
console.warn(`Image ${filePath} is too large (${stats.size} bytes)`);
|
|
183
|
+
return null;
|
|
184
|
+
}
|
|
185
|
+
switch (this.passImageAs) {
|
|
186
|
+
case 'Path':
|
|
187
|
+
return {
|
|
188
|
+
type: 'path',
|
|
189
|
+
reference: filePath,
|
|
190
|
+
description: `Local image: ${path.basename(filePath)}`,
|
|
191
|
+
size: stats.size
|
|
192
|
+
};
|
|
193
|
+
case 'Base64':
|
|
194
|
+
const imageBuffer = await fs.readFile(filePath);
|
|
195
|
+
const base64 = imageBuffer.toString('base64');
|
|
196
|
+
const ext = path.extname(filePath).substring(1);
|
|
197
|
+
return {
|
|
198
|
+
type: 'base64',
|
|
199
|
+
reference: `data:image/${ext};base64,${base64}`,
|
|
200
|
+
description: `Local image (base64): ${path.basename(filePath)}`,
|
|
201
|
+
size: stats.size
|
|
202
|
+
};
|
|
203
|
+
case 'URL':
|
|
204
|
+
// Convert local path to file:// URL
|
|
205
|
+
return {
|
|
206
|
+
type: 'url',
|
|
207
|
+
reference: `file://${path.resolve(filePath)}`,
|
|
208
|
+
description: `Local image (file URL): ${path.basename(filePath)}`,
|
|
209
|
+
size: stats.size
|
|
210
|
+
};
|
|
211
|
+
default:
|
|
212
|
+
return null;
|
|
213
|
+
}
|
|
214
|
+
}
|
|
215
|
+
catch (error) {
|
|
216
|
+
console.error(`Error processing local image ${filePath}:`, error);
|
|
217
|
+
return null;
|
|
218
|
+
}
|
|
219
|
+
}
|
|
220
|
+
}
|
|
221
|
+
exports.ImageAttachmentMessageModifier = ImageAttachmentMessageModifier;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export { EnvironmentContextModifier, type EnvironmentContextOptions } from './environmentContextModifier';
|
|
2
|
+
export { CoreSystemPromptModifier, type CoreSystemPromptOptions } from './coreSystemPromptModifier';
|
|
3
|
+
export { DirectoryContextModifier, type DirectoryContextOptions } from './directoryContextModifier';
|
|
4
|
+
export { IdeContextModifier, type IdeContextOptions, type FileInfo, type IdeContext } from './ideContextModifier';
|
|
5
|
+
export { AtFileProcessorModifier, type AtFileProcessorOptions } from './atFileProcessorModifier';
|
|
6
|
+
export { ArgumentProcessorModifier, type ArgumentProcessorOptions } from './argumentProcessorModifier';
|
|
7
|
+
export { MemoryImportModifier, type MemoryImportOptions } from './memoryImportModifier';
|
|
8
|
+
export { LoopDetectionModifier, type LoopDetectionOptions } from '../postInferenceProcessors/loopDetectionModifier';
|
|
9
|
+
export { ToolInjectionModifier, type ToolInjectionOptions } from './toolInjectionModifier';
|
|
10
|
+
export { ChatRecordingModifier, type ChatRecordingOptions } from './chatRecordingModifier';
|
|
11
|
+
export { ChatHistoryMessageModifier, type ChatHistoryMessageModifierOptions } from './chatHistoryMessageModifier';
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ChatHistoryMessageModifier = exports.ChatRecordingModifier = exports.ToolInjectionModifier = exports.LoopDetectionModifier = exports.MemoryImportModifier = exports.ArgumentProcessorModifier = exports.AtFileProcessorModifier = exports.IdeContextModifier = exports.DirectoryContextModifier = exports.CoreSystemPromptModifier = exports.EnvironmentContextModifier = void 0;
|
|
4
|
+
// Gemini-CLI equivalent modifiers
|
|
5
|
+
var environmentContextModifier_1 = require("./environmentContextModifier");
|
|
6
|
+
Object.defineProperty(exports, "EnvironmentContextModifier", { enumerable: true, get: function () { return environmentContextModifier_1.EnvironmentContextModifier; } });
|
|
7
|
+
var coreSystemPromptModifier_1 = require("./coreSystemPromptModifier");
|
|
8
|
+
Object.defineProperty(exports, "CoreSystemPromptModifier", { enumerable: true, get: function () { return coreSystemPromptModifier_1.CoreSystemPromptModifier; } });
|
|
9
|
+
var directoryContextModifier_1 = require("./directoryContextModifier");
|
|
10
|
+
Object.defineProperty(exports, "DirectoryContextModifier", { enumerable: true, get: function () { return directoryContextModifier_1.DirectoryContextModifier; } });
|
|
11
|
+
var ideContextModifier_1 = require("./ideContextModifier");
|
|
12
|
+
Object.defineProperty(exports, "IdeContextModifier", { enumerable: true, get: function () { return ideContextModifier_1.IdeContextModifier; } });
|
|
13
|
+
var atFileProcessorModifier_1 = require("./atFileProcessorModifier");
|
|
14
|
+
Object.defineProperty(exports, "AtFileProcessorModifier", { enumerable: true, get: function () { return atFileProcessorModifier_1.AtFileProcessorModifier; } });
|
|
15
|
+
var argumentProcessorModifier_1 = require("./argumentProcessorModifier");
|
|
16
|
+
Object.defineProperty(exports, "ArgumentProcessorModifier", { enumerable: true, get: function () { return argumentProcessorModifier_1.ArgumentProcessorModifier; } });
|
|
17
|
+
var memoryImportModifier_1 = require("./memoryImportModifier");
|
|
18
|
+
Object.defineProperty(exports, "MemoryImportModifier", { enumerable: true, get: function () { return memoryImportModifier_1.MemoryImportModifier; } });
|
|
19
|
+
var loopDetectionModifier_1 = require("../postInferenceProcessors/loopDetectionModifier");
|
|
20
|
+
Object.defineProperty(exports, "LoopDetectionModifier", { enumerable: true, get: function () { return loopDetectionModifier_1.LoopDetectionModifier; } });
|
|
21
|
+
var toolInjectionModifier_1 = require("./toolInjectionModifier");
|
|
22
|
+
Object.defineProperty(exports, "ToolInjectionModifier", { enumerable: true, get: function () { return toolInjectionModifier_1.ToolInjectionModifier; } });
|
|
23
|
+
var chatRecordingModifier_1 = require("./chatRecordingModifier");
|
|
24
|
+
Object.defineProperty(exports, "ChatRecordingModifier", { enumerable: true, get: function () { return chatRecordingModifier_1.ChatRecordingModifier; } });
|
|
25
|
+
var chatHistoryMessageModifier_1 = require("./chatHistoryMessageModifier");
|
|
26
|
+
Object.defineProperty(exports, "ChatHistoryMessageModifier", { enumerable: true, get: function () { return chatHistoryMessageModifier_1.ChatHistoryMessageModifier; } });
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { ProcessedMessage } from "@codebolt/types/agent";
|
|
2
|
+
import { BaseMessageModifier } from "../base";
|
|
3
|
+
import { FlatUserMessage } from "@codebolt/types/sdk";
|
|
4
|
+
export interface MemoryImportOptions {
|
|
5
|
+
enableMemoryImport?: boolean;
|
|
6
|
+
maxFileSize?: number;
|
|
7
|
+
allowedExtensions?: string[];
|
|
8
|
+
basePath?: string;
|
|
9
|
+
maxImports?: number;
|
|
10
|
+
}
|
|
11
|
+
export declare class MemoryImportModifier extends BaseMessageModifier {
|
|
12
|
+
private readonly options;
|
|
13
|
+
constructor(options?: MemoryImportOptions);
|
|
14
|
+
modify(originalRequest: FlatUserMessage, createdMessage: ProcessedMessage): Promise<ProcessedMessage>;
|
|
15
|
+
}
|