@codebolt/agent 2.2.2 → 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 (141) hide show
  1. package/dist/builderpattern/agent.js +2 -2
  2. package/dist/builderpattern/followupquestionbuilder.js +1 -1
  3. package/dist/builderpattern/llmoutputhandler.js +7 -7
  4. package/dist/builderpattern/usermessage.d.ts +6 -1
  5. package/dist/composablepattern/document.js +2 -35
  6. package/dist/local-tools/fileTools.d.ts +26 -0
  7. package/dist/local-tools/fileTools.js +162 -0
  8. package/dist/processor/types/interfaces.d.ts +44 -21
  9. package/dist/processor-pieces/additionalModifiers/argumentProcessorModifier.d.ts +13 -0
  10. package/dist/processor-pieces/additionalModifiers/argumentProcessorModifier.js +68 -0
  11. package/dist/processor-pieces/additionalModifiers/atFileProcessorModifier.d.ts +15 -0
  12. package/dist/processor-pieces/additionalModifiers/atFileProcessorModifier.js +212 -0
  13. package/dist/processor-pieces/additionalModifiers/chatCompressionModifier.d.ts +19 -0
  14. package/dist/processor-pieces/additionalModifiers/chatCompressionModifier.js +110 -0
  15. package/dist/processor-pieces/additionalModifiers/chatRecordingModifier.d.ts +23 -0
  16. package/dist/processor-pieces/additionalModifiers/chatRecordingModifier.js +173 -0
  17. package/dist/processor-pieces/additionalModifiers/coreSystemPromptModifier.d.ts +14 -0
  18. package/dist/processor-pieces/additionalModifiers/coreSystemPromptModifier.js +93 -0
  19. package/dist/processor-pieces/additionalModifiers/directoryContextModifier.d.ts +30 -0
  20. package/dist/processor-pieces/additionalModifiers/directoryContextModifier.js +330 -0
  21. package/dist/processor-pieces/additionalModifiers/environmentContextModifier.d.ts +26 -0
  22. package/dist/processor-pieces/additionalModifiers/environmentContextModifier.js +269 -0
  23. package/dist/processor-pieces/additionalModifiers/fallbackHandlerModifier.d.ts +38 -0
  24. package/dist/processor-pieces/additionalModifiers/fallbackHandlerModifier.js +217 -0
  25. package/dist/processor-pieces/additionalModifiers/ideContextModifier.d.ts +34 -0
  26. package/dist/processor-pieces/additionalModifiers/ideContextModifier.js +147 -0
  27. package/dist/processor-pieces/additionalModifiers/index.d.ts +12 -0
  28. package/dist/processor-pieces/additionalModifiers/index.js +28 -0
  29. package/dist/processor-pieces/additionalModifiers/loopDetectionModifier.d.ts +29 -0
  30. package/dist/processor-pieces/additionalModifiers/loopDetectionModifier.js +155 -0
  31. package/dist/processor-pieces/additionalModifiers/memoryImportModifier.d.ts +15 -0
  32. package/dist/processor-pieces/additionalModifiers/memoryImportModifier.js +129 -0
  33. package/dist/processor-pieces/additionalModifiers/shellProcessorModifier.d.ts +25 -0
  34. package/dist/processor-pieces/additionalModifiers/shellProcessorModifier.js +169 -0
  35. package/dist/processor-pieces/additionalModifiers/toolInjectionModifier.d.ts +20 -0
  36. package/dist/processor-pieces/additionalModifiers/toolInjectionModifier.js +152 -0
  37. package/dist/processor-pieces/messageModifiers/addCurrentDirectoryRootFilesModifier.d.ts +7 -0
  38. package/dist/processor-pieces/messageModifiers/addCurrentDirectoryRootFilesModifier.js +93 -0
  39. package/dist/processor-pieces/messageModifiers/addToolsListMessageModifier.d.ts +14 -5
  40. package/dist/processor-pieces/messageModifiers/addToolsListMessageModifier.js +41 -40
  41. package/dist/processor-pieces/messageModifiers/advancedSystemInstructionMessageModifier.d.ts +9 -0
  42. package/dist/processor-pieces/messageModifiers/advancedSystemInstructionMessageModifier.js +77 -0
  43. package/dist/processor-pieces/messageModifiers/atFileProcessorModifier.js +5 -5
  44. package/dist/processor-pieces/messageModifiers/baseContextMessageModifier.d.ts +5 -13
  45. package/dist/processor-pieces/messageModifiers/baseContextMessageModifier.js +50 -58
  46. package/dist/processor-pieces/messageModifiers/baseSystemInstructionMessageModifier.d.ts +6 -8
  47. package/dist/processor-pieces/messageModifiers/baseSystemInstructionMessageModifier.js +66 -22
  48. package/dist/processor-pieces/messageModifiers/chatCompressionModifier.d.ts +19 -0
  49. package/dist/processor-pieces/messageModifiers/chatCompressionModifier.js +110 -0
  50. package/dist/processor-pieces/messageModifiers/chatHistoryMessageModifier.example.d.ts +20 -0
  51. package/dist/processor-pieces/messageModifiers/chatHistoryMessageModifier.example.js +124 -0
  52. package/dist/processor-pieces/messageModifiers/environmentContext.d.ts +41 -0
  53. package/dist/processor-pieces/messageModifiers/environmentContext.js +355 -0
  54. package/dist/processor-pieces/messageModifiers/handleUrlMessageModifier.d.ts +3 -2
  55. package/dist/processor-pieces/messageModifiers/handleUrlMessageModifier.js +1 -2
  56. package/dist/processor-pieces/messageModifiers/imageAttachmentMessageModifier.d.ts +3 -2
  57. package/dist/processor-pieces/messageModifiers/imageAttachmentMessageModifier.js +1 -2
  58. package/dist/processor-pieces/messageModifiers/mentionedFilesModifier.d.ts +23 -0
  59. package/dist/processor-pieces/messageModifiers/mentionedFilesModifier.js +207 -0
  60. package/dist/processor-pieces/messageModifiers/simpleMessageModifier.d.ts +7 -0
  61. package/dist/processor-pieces/messageModifiers/simpleMessageModifier.js +26 -0
  62. package/dist/processor-pieces/messageModifiers/workingDirectoryMessageModifier.d.ts +18 -2
  63. package/dist/processor-pieces/messageModifiers/workingDirectoryMessageModifier.js +291 -93
  64. package/dist/processor-pieces/postInference/llmOutputValidityProcessor.d.ts +1 -0
  65. package/dist/processor-pieces/postInference/llmOutputValidityProcessor.js +2 -0
  66. package/dist/processor-pieces/postInferenceProcessors/checkForNoToolCall.d.ts +7 -0
  67. package/dist/processor-pieces/postInferenceProcessors/checkForNoToolCall.js +24 -0
  68. package/dist/processor-pieces/postToolCall/advancedLoopDetectionProcessor.d.ts +41 -0
  69. package/dist/processor-pieces/postToolCall/advancedLoopDetectionProcessor.js +197 -0
  70. package/dist/processor-pieces/postToolCall/chatCompressionProcessor.d.ts +26 -0
  71. package/dist/processor-pieces/postToolCall/chatCompressionProcessor.js +90 -0
  72. package/dist/processor-pieces/postToolCall/chatRecordingProcessor.d.ts +81 -0
  73. package/dist/processor-pieces/postToolCall/chatRecordingProcessor.js +329 -0
  74. package/dist/processor-pieces/postToolCall/contextManagementProcessor.d.ts +40 -0
  75. package/dist/processor-pieces/postToolCall/contextManagementProcessor.js +272 -0
  76. package/dist/processor-pieces/postToolCall/conversationCompactorProcessor.d.ts +49 -0
  77. package/dist/processor-pieces/postToolCall/conversationCompactorProcessor.js +291 -0
  78. package/dist/processor-pieces/postToolCall/conversationContinuityProcessor.d.ts +49 -0
  79. package/dist/processor-pieces/postToolCall/conversationContinuityProcessor.js +293 -0
  80. package/dist/processor-pieces/postToolCall/followUpConversationProcessor.d.ts +47 -0
  81. package/dist/processor-pieces/postToolCall/followUpConversationProcessor.js +249 -0
  82. package/dist/processor-pieces/postToolCall/loopDetectionProcessor.d.ts +30 -0
  83. package/dist/processor-pieces/postToolCall/loopDetectionProcessor.js +137 -0
  84. package/dist/processor-pieces/postToolCall/responseValidationProcessor.d.ts +30 -0
  85. package/dist/processor-pieces/postToolCall/responseValidationProcessor.js +228 -0
  86. package/dist/processor-pieces/postToolCall/telemetryProcessor.d.ts +99 -0
  87. package/dist/processor-pieces/postToolCall/telemetryProcessor.js +278 -0
  88. package/dist/processor-pieces/postToolCall/tokenManagementProcessor.d.ts +37 -0
  89. package/dist/processor-pieces/postToolCall/tokenManagementProcessor.js +178 -0
  90. package/dist/processor-pieces/postToolCall/toolExecutionProcessor.d.ts +43 -0
  91. package/dist/processor-pieces/postToolCall/toolExecutionProcessor.js +207 -0
  92. package/dist/processor-pieces/preInference/conversationCompactorProcessor.d.ts +52 -0
  93. package/dist/processor-pieces/preInference/conversationCompactorProcessor.js +264 -0
  94. package/dist/processor-pieces/preInference/conversationContinuityProcessor.d.ts +49 -0
  95. package/dist/processor-pieces/preInference/conversationContinuityProcessor.js +293 -0
  96. package/dist/processor-pieces/preInferenceProcessors/conversationCompaction.d.ts +7 -0
  97. package/dist/processor-pieces/preInferenceProcessors/conversationCompaction.js +31 -0
  98. package/dist/processor-pieces/preToolCall/index.d.ts +9 -0
  99. package/dist/processor-pieces/preToolCall/index.js +18 -0
  100. package/dist/processor-pieces/preToolCall/localToolInterceptorProcessor.d.ts +58 -0
  101. package/dist/processor-pieces/preToolCall/localToolInterceptorProcessor.js +444 -0
  102. package/dist/processor-pieces/preToolCall/toolParameterModifierProcessor.d.ts +44 -0
  103. package/dist/processor-pieces/preToolCall/toolParameterModifierProcessor.js +367 -0
  104. package/dist/processor-pieces/preToolCall/toolValidationProcessor.d.ts +58 -0
  105. package/dist/processor-pieces/preToolCall/toolValidationProcessor.js +391 -0
  106. package/dist/unified/agent/agent.js +2 -2
  107. package/dist/unified/agent/tool.d.ts +99 -0
  108. package/dist/unified/agent/tool.js +440 -0
  109. package/dist/unified/base/initialPromptGenerator.js +5 -5
  110. package/dist/unified/base/responseExecutor.js +6 -6
  111. package/dist/unified/examples/agentExample.d.ts +46 -0
  112. package/dist/unified/examples/agentExample.js +464 -0
  113. package/dist/unified/examples/documentationPatternExample.d.ts +10 -0
  114. package/dist/unified/examples/documentationPatternExample.js +385 -0
  115. package/dist/unified/examples/followUpProcessorsExample.d.ts +45 -0
  116. package/dist/unified/examples/followUpProcessorsExample.js +311 -0
  117. package/dist/unified/examples/orchestratorExample.d.ts +16 -0
  118. package/dist/unified/examples/orchestratorExample.js +415 -0
  119. package/dist/unified/examples/preToolCallProcessorsExample.d.ts +36 -0
  120. package/dist/unified/examples/preToolCallProcessorsExample.js +458 -0
  121. package/dist/unified/examples/workflowExample.d.ts +12 -0
  122. package/dist/unified/examples/workflowExample.js +497 -0
  123. package/dist/unified/orchestrator/orchestrator.d.ts +260 -0
  124. package/dist/unified/orchestrator/orchestrator.js +519 -0
  125. package/package.json +15 -15
  126. package/dist/agent.d.ts +0 -86
  127. package/dist/agent.js +0 -324
  128. package/dist/followupquestionbuilder.d.ts +0 -75
  129. package/dist/followupquestionbuilder.js +0 -197
  130. package/dist/index.d.ts +0 -14
  131. package/dist/index.js +0 -23
  132. package/dist/llmoutputhandler.d.ts +0 -102
  133. package/dist/llmoutputhandler.js +0 -452
  134. package/dist/promptbuilder.d.ts +0 -382
  135. package/dist/promptbuilder.js +0 -805
  136. package/dist/systemprompt.d.ts +0 -20
  137. package/dist/systemprompt.js +0 -48
  138. package/dist/taskInstruction.d.ts +0 -37
  139. package/dist/taskInstruction.js +0 -57
  140. package/dist/usermessage.d.ts +0 -70
  141. package/dist/usermessage.js +0 -123
@@ -0,0 +1,260 @@
1
+ /**
2
+ * Unified Orchestrator for Multi-Agent, Multi-Workflow, Multi-Tool Coordination
3
+ *
4
+ * The Orchestrator can dynamically choose and execute agents, workflows, and tools
5
+ * in any order based on context and user input. Unlike workflows which have fixed
6
+ * execution order, the orchestrator makes intelligent decisions about what to execute.
7
+ */
8
+ import type { OpenAITool, CodeboltAPI, LLMConfig } from '../types/libTypes';
9
+ import type { Processor } from '../types/processorTypes';
10
+ import type { UnifiedWorkflow } from '../agent/workflow';
11
+ import { Agent } from '../agent/agent';
12
+ /**
13
+ * Runtime context for orchestrator execution
14
+ */
15
+ export interface RuntimeContext {
16
+ /** Unique execution session ID */
17
+ sessionId: string;
18
+ /** User identifier */
19
+ userId?: string;
20
+ /** Current conversation state */
21
+ conversationState: Record<string, unknown>;
22
+ /** Execution history */
23
+ executionHistory: OrchestratorExecutionStep[];
24
+ /** Shared memory across executions */
25
+ memory: Map<string, unknown>;
26
+ /** Current step in the orchestration */
27
+ currentStep: number;
28
+ /** Maximum steps allowed */
29
+ maxSteps: number;
30
+ /** Execution start time */
31
+ startTime: string;
32
+ /** Custom context data */
33
+ customData: Record<string, unknown>;
34
+ }
35
+ /**
36
+ * Orchestrator execution step result
37
+ */
38
+ export interface OrchestratorExecutionStep {
39
+ /** Step ID */
40
+ stepId: string;
41
+ /** Step type */
42
+ stepType: 'agent' | 'workflow' | 'tool' | 'decision' | 'memory';
43
+ /** Resource that was executed */
44
+ resourceId: string;
45
+ /** Resource name */
46
+ resourceName: string;
47
+ /** Input provided to the resource */
48
+ input: unknown;
49
+ /** Output from the resource */
50
+ output: unknown;
51
+ /** Whether execution was successful */
52
+ success: boolean;
53
+ /** Error message if failed */
54
+ error?: string;
55
+ /** Execution time in milliseconds */
56
+ executionTime: number;
57
+ /** Timestamp */
58
+ timestamp: string;
59
+ /** Additional metadata */
60
+ metadata: Record<string, unknown>;
61
+ }
62
+ /**
63
+ * Orchestrator decision result
64
+ */
65
+ export interface OrchestratorDecision {
66
+ /** What type of resource to execute next */
67
+ resourceType: 'agent' | 'workflow' | 'tool' | 'complete' | 'clarify';
68
+ /** ID of the resource to execute */
69
+ resourceId?: string;
70
+ /** Input to provide to the resource */
71
+ input?: unknown;
72
+ /** Reasoning behind the decision */
73
+ reasoning: string;
74
+ /** Confidence level (0-1) */
75
+ confidence: number;
76
+ /** Whether this completes the orchestration */
77
+ isComplete: boolean;
78
+ /** Follow-up actions needed */
79
+ followUpActions?: string[];
80
+ }
81
+ /**
82
+ * Orchestrator configuration
83
+ */
84
+ export interface OrchestratorConfig {
85
+ /** Orchestrator name */
86
+ name: string;
87
+ /** Orchestrator description */
88
+ description?: string;
89
+ /** Instructions for decision making */
90
+ instructions: string;
91
+ /** LLM configuration for decision making */
92
+ llmConfig?: LLMConfig;
93
+ /** Available agents */
94
+ agents: Record<string, Agent>;
95
+ /** Available workflows */
96
+ workflows: Record<string, UnifiedWorkflow>;
97
+ /** Available tools (beyond agent/workflow tools) */
98
+ tools?: Record<string, OpenAITool>;
99
+ /** Memory configuration */
100
+ memory?: {
101
+ persistent?: boolean;
102
+ maxSize?: number;
103
+ ttl?: number;
104
+ };
105
+ /** Execution limits */
106
+ limits?: {
107
+ maxSteps?: number;
108
+ maxExecutionTime?: number;
109
+ maxMemoryUsage?: number;
110
+ };
111
+ /** Decision-making configuration */
112
+ decisionConfig?: {
113
+ /** Whether to explain decisions to user */
114
+ explainDecisions?: boolean;
115
+ /** Confidence threshold for auto-execution */
116
+ confidenceThreshold?: number;
117
+ /** Whether to ask for confirmation on low confidence */
118
+ askConfirmation?: boolean;
119
+ };
120
+ /** Processors for orchestrator enhancement */
121
+ processors?: Processor[];
122
+ }
123
+ /**
124
+ * Orchestrator execution result
125
+ */
126
+ export interface OrchestratorResult {
127
+ /** Unique session ID */
128
+ sessionId: string;
129
+ /** Whether orchestration completed successfully */
130
+ success: boolean;
131
+ /** Final response to user */
132
+ response: string;
133
+ /** All execution steps */
134
+ executionSteps: OrchestratorExecutionStep[];
135
+ /** Final context state */
136
+ finalContext: RuntimeContext;
137
+ /** Total execution time */
138
+ totalExecutionTime: number;
139
+ /** Error message if failed */
140
+ error?: string;
141
+ /** Orchestration metrics */
142
+ metrics: OrchestratorMetrics;
143
+ }
144
+ /**
145
+ * Orchestrator performance metrics
146
+ */
147
+ export interface OrchestratorMetrics {
148
+ /** Total steps executed */
149
+ totalSteps: number;
150
+ /** Agents executed */
151
+ agentsExecuted: number;
152
+ /** Workflows executed */
153
+ workflowsExecuted: number;
154
+ /** Tools executed */
155
+ toolsExecuted: number;
156
+ /** Decisions made */
157
+ decisionsMade: number;
158
+ /** Average decision confidence */
159
+ averageConfidence: number;
160
+ /** Memory operations */
161
+ memoryOperations: number;
162
+ /** Total tokens used (if available) */
163
+ totalTokens?: number;
164
+ }
165
+ /**
166
+ * Main Orchestrator class for coordinating agents, workflows, and tools
167
+ */
168
+ export declare class UnifiedOrchestrator {
169
+ private config;
170
+ private codebolt?;
171
+ private decisionAgent;
172
+ constructor(config: OrchestratorConfig, codebolt?: CodeboltAPI);
173
+ /**
174
+ * Create the internal decision-making agent
175
+ */
176
+ private createDecisionAgent;
177
+ /**
178
+ * Execute orchestration loop
179
+ */
180
+ loop(userMessage: string, options?: {
181
+ runtimeContext?: Partial<RuntimeContext>;
182
+ maxSteps?: number;
183
+ }): Promise<OrchestratorResult>;
184
+ /**
185
+ * Initialize runtime context
186
+ */
187
+ private initializeRuntimeContext;
188
+ /**
189
+ * Generate unique session ID
190
+ */
191
+ private generateSessionId;
192
+ /**
193
+ * Apply orchestrator processors
194
+ */
195
+ private applyProcessors;
196
+ /**
197
+ * Make orchestration decision
198
+ */
199
+ private makeDecision;
200
+ /**
201
+ * Execute orchestration decision
202
+ */
203
+ private executeDecision;
204
+ /**
205
+ * Check if orchestration should stop
206
+ */
207
+ private shouldStop;
208
+ /**
209
+ * Estimate memory usage (simplified)
210
+ */
211
+ private estimateMemoryUsage;
212
+ /**
213
+ * Create successful orchestration result
214
+ */
215
+ private createSuccessResult;
216
+ /**
217
+ * Create error orchestration result
218
+ */
219
+ private createErrorResult;
220
+ /**
221
+ * Calculate orchestration metrics
222
+ */
223
+ private calculateMetrics;
224
+ /**
225
+ * Calculate average confidence from decisions
226
+ */
227
+ private calculateAverageConfidence;
228
+ /**
229
+ * Generate final response based on execution history
230
+ */
231
+ private generateFinalResponse;
232
+ /**
233
+ * Add agent to orchestrator
234
+ */
235
+ addAgent(id: string, agent: Agent): void;
236
+ /**
237
+ * Add workflow to orchestrator
238
+ */
239
+ addWorkflow(id: string, workflow: UnifiedWorkflow): void;
240
+ /**
241
+ * Add tool to orchestrator
242
+ */
243
+ addTool(id: string, tool: OpenAITool): void;
244
+ /**
245
+ * Get orchestrator configuration
246
+ */
247
+ getConfig(): Readonly<OrchestratorConfig>;
248
+ /**
249
+ * Update orchestrator configuration
250
+ */
251
+ updateConfig(updates: Partial<OrchestratorConfig>): void;
252
+ }
253
+ /**
254
+ * Create a new orchestrator instance
255
+ */
256
+ export declare function createOrchestrator(config: OrchestratorConfig, codebolt?: CodeboltAPI): UnifiedOrchestrator;
257
+ /**
258
+ * Create runtime context
259
+ */
260
+ export declare function createRuntimeContext(options?: Partial<RuntimeContext>): RuntimeContext;