@codebolt/agent 5.0.9 → 6.0.1

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 (47) hide show
  1. package/dist/index.d.ts +2 -0
  2. package/dist/index.js +41 -0
  3. package/dist/processor-pieces/messageModifiers/chatHistoryMessageModifier.js +2 -4
  4. package/dist/processor-pieces/messageModifiers/contextAssemblyModifier.d.ts +81 -0
  5. package/dist/processor-pieces/messageModifiers/contextAssemblyModifier.js +316 -0
  6. package/dist/processor-pieces/messageModifiers/coreSystemPromptModifier.js +2 -19
  7. package/dist/processor-pieces/messageModifiers/directoryContextModifier.js +2 -6
  8. package/dist/processor-pieces/messageModifiers/environmentContextModifier.js +2 -7
  9. package/dist/processor-pieces/messageModifiers/ideContextModifier.js +2 -21
  10. package/dist/processor-pieces/messageModifiers/index.d.ts +3 -0
  11. package/dist/processor-pieces/messageModifiers/index.js +7 -1
  12. package/dist/processor-pieces/messageModifiers/toolInjectionModifier.js +2 -1
  13. package/dist/processor-pieces/postToolCallProcessors/conversationCompactorModifier.d.ts +34 -5
  14. package/dist/processor-pieces/postToolCallProcessors/conversationCompactorModifier.js +374 -89
  15. package/dist/processor-pieces/preInferenceProcessors/chatCompressionModifier.d.ts +3 -0
  16. package/dist/processor-pieces/preInferenceProcessors/chatCompressionModifier.js +50 -27
  17. package/dist/unified/agent/agent.d.ts +10 -0
  18. package/dist/unified/agent/agent.js +198 -10
  19. package/dist/unified/agent/codeboltAgent.d.ts +19 -100
  20. package/dist/unified/agent/codeboltAgent.js +209 -109
  21. package/dist/unified/base/agentStep.js +17 -17
  22. package/dist/unified/base/initialPromptGenerator.js +13 -31
  23. package/dist/unified/base/promptContext.d.ts +13 -0
  24. package/dist/unified/base/promptContext.js +213 -0
  25. package/dist/unified/base/responseExecutor.d.ts +7 -19
  26. package/dist/unified/base/responseExecutor.js +351 -258
  27. package/dist/unified/index.d.ts +9 -0
  28. package/dist/unified/index.js +20 -13
  29. package/dist/unified/services/CompressionCoordinator.d.ts +67 -0
  30. package/dist/unified/services/CompressionCoordinator.js +214 -0
  31. package/dist/unified/services/compaction/autoCompact.d.ts +52 -0
  32. package/dist/unified/services/compaction/autoCompact.js +294 -0
  33. package/dist/unified/services/compaction/compactionOrchestrator.d.ts +78 -0
  34. package/dist/unified/services/compaction/compactionOrchestrator.js +230 -0
  35. package/dist/unified/services/compaction/contextCollapse.d.ts +63 -0
  36. package/dist/unified/services/compaction/contextCollapse.js +291 -0
  37. package/dist/unified/services/compaction/microCompact.d.ts +34 -0
  38. package/dist/unified/services/compaction/microCompact.js +195 -0
  39. package/dist/unified/services/compaction/postCompactCleanup.d.ts +15 -0
  40. package/dist/unified/services/compaction/postCompactCleanup.js +37 -0
  41. package/dist/unified/services/compaction/reactiveCompact.d.ts +65 -0
  42. package/dist/unified/services/compaction/reactiveCompact.js +301 -0
  43. package/dist/unified/services/compaction/snipCompact.d.ts +31 -0
  44. package/dist/unified/services/compaction/snipCompact.js +124 -0
  45. package/dist/unified/services/compaction/types.d.ts +66 -0
  46. package/dist/unified/services/compaction/types.js +39 -0
  47. package/package.json +22 -30
@@ -121,20 +121,28 @@ export declare class ConversationCompactorModifier extends BasePostToolCallProce
121
121
  private readonly options;
122
122
  private failedCompressionAttempts;
123
123
  private hasFailedCompression;
124
+ private lastCompressionTokenCount;
125
+ private stepsSinceLastCompression;
124
126
  constructor(options?: ConversationCompactorOptions);
127
+ /**
128
+ * Calibrated characters-per-token ratio.
129
+ * Starts at 4 (rough default) but gets refined when actual API usage data is available.
130
+ */
131
+ private charsPerToken;
125
132
  /**
126
133
  * Estimates token count for a string
127
- * Uses the ~4 characters per token approximation
134
+ * Uses calibrated chars-per-token ratio (refined by actual API usage when available)
128
135
  */
129
136
  private estimateTokens;
130
137
  /**
131
- * Counts tokens for an array of messages
138
+ * Calibrates the chars-per-token ratio using actual API usage data.
139
+ * Called when rawLLMResponseMessage.usage is available to improve estimation accuracy.
132
140
  */
133
- private countMessageTokens;
141
+ private calibrateTokenEstimation;
134
142
  /**
135
- * Gets content length from a message (handles string and array content)
143
+ * Counts tokens for an array of messages
136
144
  */
137
- private getMessageContentLength;
145
+ private countMessageTokens;
138
146
  /**
139
147
  * Extracts text content from a message
140
148
  */
@@ -143,6 +151,15 @@ export declare class ConversationCompactorModifier extends BasePostToolCallProce
143
151
  * Checks if a message is a function/tool response
144
152
  */
145
153
  private isToolResponseMessage;
154
+ /**
155
+ * Finds the original user request (first non-system, non-tool user message)
156
+ */
157
+ private getOriginalUserMessage;
158
+ /**
159
+ * Inserts the original user message right after system messages if it's
160
+ * not already present in the preserved messages.
161
+ */
162
+ private ensureOriginalUserMessage;
146
163
  /**
147
164
  * Truncates content to a specified number of lines
148
165
  * Keeps first half and last half of allowed lines for context
@@ -180,6 +197,18 @@ export declare class ConversationCompactorModifier extends BasePostToolCallProce
180
197
  * Optional verification pass - asks LLM to verify and correct the summary
181
198
  */
182
199
  private verifySummary;
200
+ /**
201
+ * Extracts file paths from the "Required Files" section of a summary.
202
+ * Looks for section 9 (REQUIRED FILES) and extracts paths listed there.
203
+ */
204
+ private extractRequiredFiles;
205
+ /**
206
+ * Deduplicates repeated file reads in conversation history.
207
+ * When the same file is read multiple times, older reads are replaced with
208
+ * a short note, keeping only the latest read for each file path.
209
+ * This reduces token count before full compression kicks in.
210
+ */
211
+ private deduplicateFileReads;
183
212
  /**
184
213
  * Simple compression strategy - just removes old messages
185
214
  */