@blackbox_ai/blackbox-cli-core 0.8.1 → 0.8.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 (39) hide show
  1. package/LICENSE +674 -203
  2. package/README.md +14 -16
  3. package/dist/src/config/config.js +1 -1
  4. package/dist/src/config/models.d.ts +3 -3
  5. package/dist/src/config/models.js +3 -3
  6. package/dist/src/config/models.js.map +1 -1
  7. package/dist/src/config/multiAgentModels.d.ts +1 -1
  8. package/dist/src/config/multiAgentModels.js +4 -9
  9. package/dist/src/config/multiAgentModels.js.map +1 -1
  10. package/dist/src/core/openaiContentGenerator/converter.js +2 -1
  11. package/dist/src/core/openaiContentGenerator/converter.js.map +1 -1
  12. package/dist/src/core/openaiContentGenerator/index.d.ts +1 -1
  13. package/dist/src/core/openaiContentGenerator/index.js +6 -2
  14. package/dist/src/core/openaiContentGenerator/index.js.map +1 -1
  15. package/dist/src/core/openaiContentGenerator/provider/index.d.ts +1 -0
  16. package/dist/src/core/openaiContentGenerator/provider/index.js +1 -0
  17. package/dist/src/core/openaiContentGenerator/provider/index.js.map +1 -1
  18. package/dist/src/core/openaiContentGenerator/provider/vercel.d.ts +25 -0
  19. package/dist/src/core/openaiContentGenerator/provider/vercel.js +39 -0
  20. package/dist/src/core/openaiContentGenerator/provider/vercel.js.map +1 -0
  21. package/dist/src/encrypt/tool-formatter.js +34 -7
  22. package/dist/src/encrypt/tool-formatter.js.map +1 -1
  23. package/dist/src/generated/git-commit.d.ts +2 -2
  24. package/dist/src/generated/git-commit.js +2 -2
  25. package/dist/src/index.d.ts +5 -1
  26. package/dist/src/index.js +4 -1
  27. package/dist/src/index.js.map +1 -1
  28. package/dist/src/services/ProgressiveAutoSaveService.d.ts +82 -0
  29. package/dist/src/services/ProgressiveAutoSaveService.js +196 -0
  30. package/dist/src/services/ProgressiveAutoSaveService.js.map +1 -0
  31. package/dist/src/tools/shell.d.ts +1 -0
  32. package/dist/src/tools/shell.js +9 -0
  33. package/dist/src/tools/shell.js.map +1 -1
  34. package/dist/src/utils/fileUtils.js +37 -9
  35. package/dist/src/utils/fileUtils.js.map +1 -1
  36. package/dist/src/utils/messageTruncator.js +14 -11
  37. package/dist/src/utils/messageTruncator.js.map +1 -1
  38. package/dist/tsconfig.tsbuildinfo +1 -1
  39. package/package.json +1 -1
@@ -3,5 +3,5 @@
3
3
  * Copyright 2026 Google LLC
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
- export declare const GIT_COMMIT_INFO = "d13f806f";
7
- export declare const CLI_VERSION = "0.8.1";
6
+ export declare const GIT_COMMIT_INFO = "39071fee";
7
+ export declare const CLI_VERSION = "0.8.3";
@@ -5,6 +5,6 @@
5
5
  */
6
6
  // This file is auto-generated by the build script (scripts/generate-git-commit-info.js)
7
7
  // Do not edit this file manually.
8
- export const GIT_COMMIT_INFO = 'd13f806f';
9
- export const CLI_VERSION = '0.8.1';
8
+ export const GIT_COMMIT_INFO = '39071fee';
9
+ export const CLI_VERSION = '0.8.3';
10
10
  //# sourceMappingURL=git-commit.js.map
@@ -18,7 +18,10 @@ export * from './core/coreToolScheduler.js';
18
18
  export * from './core/nonInteractiveToolExecutor.js';
19
19
  export { EncryptedGeminiClientBridge } from './core/encryptedGeminiClientBridge.js';
20
20
  export { formatToolsForSystemPrompt } from './encrypt/tool-formatter.js';
21
- export { createEncryptedToolParser } from './encrypt/tool-parser.js';
21
+ export { createEncryptedToolParser, EncryptedToolParser } from './encrypt/tool-parser.js';
22
+ export type { ToolCall as EncryptedToolCall, ParseResult as EncryptedParseResult } from './encrypt/tool-parser.js';
23
+ export { removeToolCallMarkup, formatThinkContent, containsToolCalls, cleanStreamingText, detectModelType, } from './utils/textCleaning.js';
24
+ export type { TextCleaningOptions, CleaningResult } from './utils/textCleaning.js';
22
25
  export * from './code_assist/codeAssist.js';
23
26
  export * from './code_assist/oauth2.js';
24
27
  export * from './blackbox/blackboxOAuth2.js';
@@ -57,6 +60,7 @@ export * from './services/EncryptedChatService.js';
57
60
  export { CheckpointApiService, type CheckpointData, type TaskSummary, type CheckpointApiResponse, type TaskListResponse, } from './services/checkpointApiService.js';
58
61
  export { statsHistoryService, StatsHistoryService } from './services/StatsHistoryService.js';
59
62
  export type { SessionHistoryEntry, AggregatedStats, StatsHistoryData, TrendPeriod, SessionFilter, } from './services/StatsHistoryService.js';
63
+ export { ProgressiveAutoSaveService } from './services/ProgressiveAutoSaveService.js';
60
64
  export * from './ide/ide-client.js';
61
65
  export * from './ide/ideContext.js';
62
66
  export * from './ide/ide-installer.js';
package/dist/src/index.js CHANGED
@@ -21,7 +21,9 @@ export * from './core/nonInteractiveToolExecutor.js';
21
21
  export { EncryptedGeminiClientBridge } from './core/encryptedGeminiClientBridge.js';
22
22
  // Export Encrypt Logic
23
23
  export { formatToolsForSystemPrompt } from './encrypt/tool-formatter.js';
24
- export { createEncryptedToolParser } from './encrypt/tool-parser.js';
24
+ export { createEncryptedToolParser, EncryptedToolParser } from './encrypt/tool-parser.js';
25
+ // Export text cleaning utilities
26
+ export { removeToolCallMarkup, formatThinkContent, containsToolCalls, cleanStreamingText, detectModelType, } from './utils/textCleaning.js';
25
27
  export * from './code_assist/codeAssist.js';
26
28
  export * from './code_assist/oauth2.js';
27
29
  export * from './blackbox/blackboxOAuth2.js';
@@ -61,6 +63,7 @@ export * from './services/fileSystemService.js';
61
63
  export * from './services/EncryptedChatService.js';
62
64
  export { CheckpointApiService, } from './services/checkpointApiService.js';
63
65
  export { statsHistoryService, StatsHistoryService } from './services/StatsHistoryService.js';
66
+ export { ProgressiveAutoSaveService } from './services/ProgressiveAutoSaveService.js';
64
67
  // Export IDE specific logic
65
68
  export * from './ide/ide-client.js';
66
69
  export * from './ide/ideContext.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,gBAAgB;AAChB,cAAc,oBAAoB,CAAC;AACnC,cAAc,8BAA8B,CAAC;AAE7C,oBAAoB;AACpB,cAAc,kBAAkB,CAAC;AACjC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,mCAAmC,CAAC;AAClD,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,uBAAuB,CAAC;AACtC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,yBAAyB,CAAC;AACxC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,sCAAsC,CAAC;AACrD,OAAO,EAAE,2BAA2B,EAAE,MAAM,uCAAuC,CAAC;AAEpF,uBAAuB;AACvB,OAAO,EAAE,0BAA0B,EAAE,MAAM,6BAA6B,CAAC;AACzE,OAAO,EAAE,yBAAyB,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAG1F,iCAAiC;AACjC,OAAO,EACL,oBAAoB,EACpB,kBAAkB,EAClB,iBAAiB,EACjB,kBAAkB,EAClB,eAAe,GAChB,MAAM,yBAAyB,CAAC;AAGjC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,yBAAyB,CAAC;AACxC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,yBAAyB,CAAC;AACxC,cAAc,wBAAwB,CAAC;AAEvC,mBAAmB;AACnB,cAAc,kBAAkB,CAAC;AACjC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,mBAAmB,CAAC;AAClC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,wBAAwB,CAAC;AACvC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,6CAA6C,CAAC;AAC5D,cAAc,kCAAkC,CAAC;AACjD,cAAc,yBAAyB,CAAC;AACxC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,sBAAsB,CAAC;AACrC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,kBAAkB,CAAC;AACjC,cAAc,oCAAoC,CAAC;AAEnD,kBAAkB;AAClB,cAAc,oCAAoC,CAAC;AACnD,cAAc,0BAA0B,CAAC;AACzC,cAAc,oCAAoC,CAAC;AACnD,cAAc,iCAAiC,CAAC;AAChD,cAAc,oCAAoC,CAAC;AACnD,OAAO,EACL,oBAAoB,GAKrB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AAQ7F,OAAO,EAAE,0BAA0B,EAAE,MAAM,0CAA0C,CAAC;AAEtF,4BAA4B;AAC5B,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,wBAAwB,CAAC;AACvC,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAC9D,OAAO,EAAgB,MAAM,qBAAqB,CAAC;AACnD,cAAc,oBAAoB,CAAC;AAEnC,iCAAiC;AACjC,cAAc,qCAAqC,CAAC;AAEpD,+BAA+B;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,uBAAuB,CAAC;AACtC,cAAc,0BAA0B,CAAC;AAEzC,6BAA6B;AAC7B,cAAc,sBAAsB,CAAC;AAErC,sBAAsB;AACtB,cAAc,0BAA0B,CAAC;AAEzC,6BAA6B;AAC7B,cAAc,sBAAsB,CAAC;AACrC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,kBAAkB,CAAC;AACjC,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,2BAA2B,CAAC;AAC1C,OAAO,EAAE,mBAAmB,EAAiB,MAAM,sBAAsB,CAAC;AAE1E,YAAY;AACZ,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAK3D,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAMpE,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAElD,6BAA6B;AAC7B,cAAc,sBAAsB,CAAC;AACrC,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,cAAc,oBAAoB,CAAC;AACnC,2BAA2B;AAC3B,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACrE,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC"}
@@ -0,0 +1,82 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import type { Content } from '@google/genai';
7
+ import type { Logger } from '../core/logger.js';
8
+ /**
9
+ * Service for progressive auto-saving of conversation history.
10
+ * Saves the conversation after each complete turn (user message + model response).
11
+ */
12
+ export declare class ProgressiveAutoSaveService {
13
+ private sessionId;
14
+ private logger;
15
+ private lastSavedMessageCount;
16
+ private isSaving;
17
+ private enabled;
18
+ private customTag;
19
+ constructor(sessionId: string, logger: Logger, enabled?: boolean);
20
+ /**
21
+ * Get the session-specific checkpoint tag
22
+ * If a custom tag is set (e.g., from a resumed session), use that instead
23
+ */
24
+ getSessionCheckpointTag(): string;
25
+ /**
26
+ * Set a custom checkpoint tag (used when resuming a session)
27
+ * This allows the service to continue saving to the same checkpoint
28
+ * that was resumed from.
29
+ */
30
+ setCheckpointTag(tag: string | null): void;
31
+ /**
32
+ * Get the current checkpoint tag (custom or session-based)
33
+ */
34
+ getCheckpointTag(): string | null;
35
+ /**
36
+ * Check if progressive auto-save is enabled
37
+ */
38
+ isEnabled(): boolean;
39
+ /**
40
+ * Set whether progressive auto-save is enabled
41
+ */
42
+ setEnabled(enabled: boolean): void;
43
+ /**
44
+ * Get the last saved message count
45
+ */
46
+ getLastSavedMessageCount(): number;
47
+ /**
48
+ * Check if there are unsaved changes
49
+ */
50
+ hasUnsavedChanges(currentMessageCount: number): boolean;
51
+ /**
52
+ * Save the conversation progressively.
53
+ * Only saves if there are new messages since the last save.
54
+ *
55
+ * @param conversation - The current conversation history
56
+ * @returns true if save was performed, false if skipped
57
+ */
58
+ saveProgressively(conversation: Content[]): Promise<boolean>;
59
+ /**
60
+ * Load the session checkpoint if it exists
61
+ *
62
+ * @returns The conversation history or null if no checkpoint exists
63
+ */
64
+ loadSessionCheckpoint(): Promise<Content[] | null>;
65
+ /**
66
+ * Delete the session checkpoint
67
+ */
68
+ deleteSessionCheckpoint(): Promise<boolean>;
69
+ /**
70
+ * Check if a session checkpoint exists
71
+ */
72
+ sessionCheckpointExists(): Promise<boolean>;
73
+ /**
74
+ * Reset the service state (useful when starting a new conversation)
75
+ */
76
+ reset(): void;
77
+ /**
78
+ * Force save the conversation regardless of message count
79
+ * Useful for final save on quit
80
+ */
81
+ forceSave(conversation: Content[]): Promise<boolean>;
82
+ }
@@ -0,0 +1,196 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ /**
7
+ * Service for progressive auto-saving of conversation history.
8
+ * Saves the conversation after each complete turn (user message + model response).
9
+ */
10
+ export class ProgressiveAutoSaveService {
11
+ sessionId;
12
+ logger;
13
+ lastSavedMessageCount = 0;
14
+ isSaving = false;
15
+ enabled = true;
16
+ customTag = null;
17
+ constructor(sessionId, logger, enabled = true) {
18
+ this.sessionId = sessionId;
19
+ this.logger = logger;
20
+ this.enabled = enabled;
21
+ }
22
+ /**
23
+ * Get the session-specific checkpoint tag
24
+ * If a custom tag is set (e.g., from a resumed session), use that instead
25
+ */
26
+ getSessionCheckpointTag() {
27
+ return this.customTag || `session-${this.sessionId}`;
28
+ }
29
+ /**
30
+ * Set a custom checkpoint tag (used when resuming a session)
31
+ * This allows the service to continue saving to the same checkpoint
32
+ * that was resumed from.
33
+ */
34
+ setCheckpointTag(tag) {
35
+ this.customTag = tag;
36
+ // Reset the saved message count when changing tags
37
+ if (tag) {
38
+ this.lastSavedMessageCount = 0;
39
+ }
40
+ }
41
+ /**
42
+ * Get the current checkpoint tag (custom or session-based)
43
+ */
44
+ getCheckpointTag() {
45
+ return this.customTag;
46
+ }
47
+ /**
48
+ * Check if progressive auto-save is enabled
49
+ */
50
+ isEnabled() {
51
+ return this.enabled;
52
+ }
53
+ /**
54
+ * Set whether progressive auto-save is enabled
55
+ */
56
+ setEnabled(enabled) {
57
+ this.enabled = enabled;
58
+ }
59
+ /**
60
+ * Get the last saved message count
61
+ */
62
+ getLastSavedMessageCount() {
63
+ return this.lastSavedMessageCount;
64
+ }
65
+ /**
66
+ * Check if there are unsaved changes
67
+ */
68
+ hasUnsavedChanges(currentMessageCount) {
69
+ return currentMessageCount > this.lastSavedMessageCount;
70
+ }
71
+ /**
72
+ * Save the conversation progressively.
73
+ * Only saves if there are new messages since the last save.
74
+ *
75
+ * @param conversation - The current conversation history
76
+ * @returns true if save was performed, false if skipped
77
+ */
78
+ async saveProgressively(conversation) {
79
+ if (!this.enabled) {
80
+ return false;
81
+ }
82
+ // Skip if already saving
83
+ if (this.isSaving) {
84
+ return false;
85
+ }
86
+ // Skip if no new messages
87
+ const currentMessageCount = conversation.length;
88
+ if (currentMessageCount <= this.lastSavedMessageCount) {
89
+ return false;
90
+ }
91
+ // Skip if conversation is too short (only system prompt or less)
92
+ if (currentMessageCount <= 2) {
93
+ return false;
94
+ }
95
+ this.isSaving = true;
96
+ try {
97
+ await this.logger.initialize();
98
+ const tag = this.getSessionCheckpointTag();
99
+ await this.logger.saveCheckpoint(conversation, tag);
100
+ this.lastSavedMessageCount = currentMessageCount;
101
+ return true;
102
+ }
103
+ catch (error) {
104
+ console.error('Progressive auto-save failed:', error);
105
+ return false;
106
+ }
107
+ finally {
108
+ this.isSaving = false;
109
+ }
110
+ }
111
+ /**
112
+ * Load the session checkpoint if it exists
113
+ *
114
+ * @returns The conversation history or null if no checkpoint exists
115
+ */
116
+ async loadSessionCheckpoint() {
117
+ try {
118
+ await this.logger.initialize();
119
+ const tag = this.getSessionCheckpointTag();
120
+ const exists = await this.logger.checkpointExists(tag);
121
+ if (!exists) {
122
+ return null;
123
+ }
124
+ const conversation = await this.logger.loadCheckpoint(tag);
125
+ if (conversation.length > 0) {
126
+ this.lastSavedMessageCount = conversation.length;
127
+ return conversation;
128
+ }
129
+ return null;
130
+ }
131
+ catch (error) {
132
+ console.error('Failed to load session checkpoint:', error);
133
+ return null;
134
+ }
135
+ }
136
+ /**
137
+ * Delete the session checkpoint
138
+ */
139
+ async deleteSessionCheckpoint() {
140
+ try {
141
+ await this.logger.initialize();
142
+ const tag = this.getSessionCheckpointTag();
143
+ return await this.logger.deleteCheckpoint(tag);
144
+ }
145
+ catch (error) {
146
+ console.error('Failed to delete session checkpoint:', error);
147
+ return false;
148
+ }
149
+ }
150
+ /**
151
+ * Check if a session checkpoint exists
152
+ */
153
+ async sessionCheckpointExists() {
154
+ try {
155
+ await this.logger.initialize();
156
+ const tag = this.getSessionCheckpointTag();
157
+ return await this.logger.checkpointExists(tag);
158
+ }
159
+ catch (error) {
160
+ console.error('Failed to check session checkpoint existence:', error);
161
+ return false;
162
+ }
163
+ }
164
+ /**
165
+ * Reset the service state (useful when starting a new conversation)
166
+ */
167
+ reset() {
168
+ this.lastSavedMessageCount = 0;
169
+ this.isSaving = false;
170
+ }
171
+ /**
172
+ * Force save the conversation regardless of message count
173
+ * Useful for final save on quit
174
+ */
175
+ async forceSave(conversation) {
176
+ if (conversation.length <= 2) {
177
+ return false;
178
+ }
179
+ this.isSaving = true;
180
+ try {
181
+ await this.logger.initialize();
182
+ const tag = this.getSessionCheckpointTag();
183
+ await this.logger.saveCheckpoint(conversation, tag);
184
+ this.lastSavedMessageCount = conversation.length;
185
+ return true;
186
+ }
187
+ catch (error) {
188
+ console.error('Force save failed:', error);
189
+ return false;
190
+ }
191
+ finally {
192
+ this.isSaving = false;
193
+ }
194
+ }
195
+ }
196
+ //# sourceMappingURL=ProgressiveAutoSaveService.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ProgressiveAutoSaveService.js","sourceRoot":"","sources":["../../../src/services/ProgressiveAutoSaveService.ts"],"names":[],"mappings":"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"}
@@ -18,6 +18,7 @@ export declare class ShellTool extends BaseDeclarativeTool<ShellToolParams, Tool
18
18
  static Name: string;
19
19
  private sessionAllowlist;
20
20
  constructor(config: Config);
21
+ build(params: ShellToolParams): ToolInvocation<ShellToolParams, ToolResult>;
21
22
  getAllowlist(): Set<string>;
22
23
  addToSessionAllowlist(command: string): void;
23
24
  protected validateToolParamValues(params: ShellToolParams): string | null;
@@ -386,6 +386,15 @@ export class ShellTool extends BaseDeclarativeTool {
386
386
  // Instead, we load them fresh each time in shouldConfirmExecute()
387
387
  // to ensure we always have the latest from the settings file.
388
388
  }
389
+ build(params) {
390
+ // Add default value for is_background if missing (for encrypted models)
391
+ const paramsWithDefaults = {
392
+ ...params,
393
+ is_background: 'is_background' in params ? params.is_background : false,
394
+ };
395
+ // Call parent's build method with params that now have defaults
396
+ return super.build(paramsWithDefaults);
397
+ }
389
398
  getAllowlist() {
390
399
  // Combine persistent approved commands from settings with session-only approvals
391
400
  const persistentCommands = this.config.getApprovedShellCommands();
@@ -1 +1 @@
1
- {"version":3,"file":"shell.js","sourceRoot":"","sources":["../../../src/tools/shell.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"shell.js","sourceRoot":"","sources":["../../../src/tools/shell.ts"],"names":[],"mappings":"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"}
@@ -12,6 +12,8 @@ import { compressImage, shouldCompressImage } from './imageCompression.js';
12
12
  // Constants for text file processing
13
13
  export const DEFAULT_MAX_LINES_TEXT_FILE = 2000;
14
14
  const MAX_LINE_LENGTH_TEXT_FILE = 2000;
15
+ // Maximum total characters to return to the model (50KB is a reasonable limit)
16
+ const MAX_TOTAL_CHARACTERS = 80000;
15
17
  // Default values for encoding and separator format
16
18
  export const DEFAULT_ENCODING = 'utf-8';
17
19
  /**
@@ -220,29 +222,55 @@ export async function processSingleFileContent(filePath, rootDirectory, fileSyst
220
222
  return line;
221
223
  });
222
224
  const contentRangeTruncated = startLine > 0 || endLine < originalLineCount;
223
- const isTruncated = contentRangeTruncated || linesWereTruncatedInLength;
224
- // Add file path reminder at the end if content was truncated
225
+ // Join lines and check total character count
225
226
  let llmContent = formattedLines.join('\n');
227
+ let charactersTruncated = false;
228
+ let actualEndLine = endLine;
229
+ // If content exceeds character limit, truncate by removing lines from the end
230
+ if (llmContent.length > MAX_TOTAL_CHARACTERS) {
231
+ charactersTruncated = true;
232
+ // Find how many lines we can include within the character limit
233
+ let charCount = 0;
234
+ let linesToInclude = 0;
235
+ for (let i = 0; i < formattedLines.length; i++) {
236
+ const lineLength = formattedLines[i].length + 1; // +1 for newline
237
+ if (charCount + lineLength > MAX_TOTAL_CHARACTERS) {
238
+ break;
239
+ }
240
+ charCount += lineLength;
241
+ linesToInclude++;
242
+ }
243
+ // Ensure we include at least some content
244
+ linesToInclude = Math.max(linesToInclude, 1);
245
+ actualEndLine = actualStartLine + linesToInclude;
246
+ // Truncate the content
247
+ llmContent = formattedLines.slice(0, linesToInclude).join('\n');
248
+ }
249
+ const isTruncated = contentRangeTruncated || linesWereTruncatedInLength || charactersTruncated;
226
250
  if (isTruncated) {
227
251
  llmContent += `\n\n---\n**IMPORTANT FILE PATH REMINDER:** If you need to read more of this file or edit it, use this EXACT absolute path: ${filePath}`;
228
252
  }
229
253
  // By default, return nothing to streamline the common case of a successful read_file.
230
254
  let returnDisplay = '';
231
- if (contentRangeTruncated) {
232
- returnDisplay = `Read lines ${actualStartLine + 1}-${endLine} of ${originalLineCount} from ${relativePathForDisplay}`;
255
+ if (isTruncated) {
256
+ returnDisplay = `Read lines ${actualStartLine + 1}-${actualEndLine} of ${originalLineCount} from ${relativePathForDisplay}`;
257
+ const notes = [];
233
258
  if (linesWereTruncatedInLength) {
234
- returnDisplay += ' (some lines were shortened)';
259
+ notes.push('some lines were shortened');
260
+ }
261
+ if (charactersTruncated) {
262
+ notes.push('content truncated due to size limit');
263
+ }
264
+ if (notes.length > 0) {
265
+ returnDisplay += ` (${notes.join(', ')})`;
235
266
  }
236
- }
237
- else if (linesWereTruncatedInLength) {
238
- returnDisplay = `Read all ${originalLineCount} lines from ${relativePathForDisplay} (some lines were shortened)`;
239
267
  }
240
268
  return {
241
269
  llmContent,
242
270
  returnDisplay,
243
271
  isTruncated,
244
272
  originalLineCount,
245
- linesShown: [actualStartLine + 1, endLine],
273
+ linesShown: [actualStartLine + 1, actualEndLine],
246
274
  };
247
275
  }
248
276
  case 'image':
@@ -1 +1 @@
1
- {"version":3,"file":"fileUtils.js","sourceRoot":"","sources":["../../../src/utils/fileUtils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fileUtils.js","sourceRoot":"","sources":["../../../src/utils/fileUtils.ts"],"names":[],"mappings":"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"}
@@ -11,7 +11,7 @@ const STANDARD_CONTEXT_BUFFER = 500;
11
11
  const ANTHROPIC_LARGE_CONTEXT_THRESHOLD = 16000;
12
12
  const ANTHROPIC_LARGE_CONTEXT_MULTIPLIER = 0.9; // Safety buffer
13
13
  const SAFE_DEFAULT_MAX_TOKENS = 4096;
14
- const INITIAL_MESSAGES_TO_KEEP = 2; // Usually keeps System + 1
14
+ const INITIAL_MESSAGES_TO_KEEP = 3; // For our case this should be 4
15
15
  export class MessageTruncator {
16
16
  debugMode = false;
17
17
  constructor(debugMode = false) {
@@ -265,7 +265,12 @@ export class MessageTruncator {
265
265
  let tokensToRemove = currentInpTotalTokens - maxAllowedSize;
266
266
  let removedTokens = 0;
267
267
  // 1. Setup lists
268
- let messagesToConsider = currentMessages.slice(0, -1); // All except last user message
268
+ // Only exclude last message if it's a user message
269
+ const lastMessageIsUser = currentMessages.length > 0 && currentMessages[currentMessages.length - 1].role === 'user';
270
+ let messagesToConsider = currentMessages;
271
+ if (lastMessageIsUser) {
272
+ messagesToConsider = currentMessages.slice(0, -1); // All except last user message
273
+ }
269
274
  // Always keep first message (System/Task)
270
275
  if (currentMessages[0].role === 'system') {
271
276
  truncatedMessages.push(currentMessages[0]);
@@ -275,11 +280,7 @@ export class MessageTruncator {
275
280
  if (messagesToConsider.length > 0) {
276
281
  const keepCount = Math.min(messagesToConsider.length, INITIAL_MESSAGES_TO_KEEP);
277
282
  truncatedMessages.push(...messagesToConsider.slice(0, keepCount));
278
- messagesToConsider = messagesToConsider.slice(keepCount - 1); // Python logic was slice(INITIAL - 1)
279
- // Note on Python Slice logic:
280
- // Python: truncated_messages.extend(messages[1:INITIAL_MESSAGES_TO_KEEP])
281
- // Python: messages_to_consider = messages_to_consider[INITIAL_MESSAGES_TO_KEEP - 1:]
282
- // We replicate this behavior here:
283
+ messagesToConsider = messagesToConsider.slice(keepCount);
283
284
  }
284
285
  // 2. Remove "Middle" Messages
285
286
  const truncatedMiddleMessages = [];
@@ -302,10 +303,12 @@ export class MessageTruncator {
302
303
  }
303
304
  // 4. Reassemble
304
305
  truncatedMessages.push(...truncatedMiddleMessages);
305
- // Add the final user message back
306
- truncatedMessages.push(currentMessages[currentMessages.length - 1]);
307
- // 5. Trim the final user message if needed
308
- if (tokensToRemove > 0) {
306
+ // Add the final message back if it was excluded (only user messages are excluded)
307
+ if (lastMessageIsUser) {
308
+ truncatedMessages.push(currentMessages[currentMessages.length - 1]);
309
+ }
310
+ // 5. Trim the final message if needed (only if it's a user message)
311
+ if (tokensToRemove > 0 && lastMessageIsUser) {
309
312
  const lastIndex = truncatedMessages.length - 1;
310
313
  const [newContent, remainingTokens] = this.truncateMessageContent(enc, truncatedMessages[lastIndex].content, tokensToRemove);
311
314
  truncatedMessages[lastIndex].content = newContent;