@machina.ai/cell-cli-core 1.4.0-rc2 → 1.5.5-rc1

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 (187) hide show
  1. package/dist/index.d.ts +2 -0
  2. package/dist/index.js +2 -0
  3. package/dist/index.js.map +1 -1
  4. package/dist/package.json +2 -2
  5. package/dist/src/code_assist/codeAssist.js +1 -1
  6. package/dist/src/code_assist/codeAssist.js.map +1 -1
  7. package/dist/src/code_assist/oauth-credential-storage.d.ts +27 -0
  8. package/dist/src/code_assist/oauth-credential-storage.js +112 -0
  9. package/dist/src/code_assist/oauth-credential-storage.js.map +1 -0
  10. package/dist/src/code_assist/oauth-credential-storage.test.js +134 -0
  11. package/dist/src/code_assist/oauth-credential-storage.test.js.map +1 -0
  12. package/dist/src/code_assist/server.d.ts +1 -1
  13. package/dist/src/code_assist/server.js +24 -1
  14. package/dist/src/code_assist/server.js.map +1 -1
  15. package/dist/src/code_assist/server.test.js +25 -0
  16. package/dist/src/code_assist/server.test.js.map +1 -1
  17. package/dist/src/code_assist/types.d.ts +17 -2
  18. package/dist/src/config/config.d.ts +25 -4
  19. package/dist/src/config/config.js +84 -29
  20. package/dist/src/config/config.js.map +1 -1
  21. package/dist/src/config/config.test.js +131 -121
  22. package/dist/src/config/config.test.js.map +1 -1
  23. package/dist/src/config/storage.d.ts +2 -0
  24. package/dist/src/config/storage.js +6 -1
  25. package/dist/src/config/storage.js.map +1 -1
  26. package/dist/src/config/storage.test.js +4 -0
  27. package/dist/src/config/storage.test.js.map +1 -1
  28. package/dist/src/core/baseLlmClient.d.ts +45 -0
  29. package/dist/src/core/baseLlmClient.js +88 -0
  30. package/dist/src/core/baseLlmClient.js.map +1 -0
  31. package/dist/src/core/baseLlmClient.test.d.ts +6 -0
  32. package/dist/src/core/baseLlmClient.test.js +190 -0
  33. package/dist/src/core/baseLlmClient.test.js.map +1 -0
  34. package/dist/src/core/client.d.ts +4 -15
  35. package/dist/src/core/client.js +56 -100
  36. package/dist/src/core/client.js.map +1 -1
  37. package/dist/src/core/client.test.js +101 -321
  38. package/dist/src/core/client.test.js.map +1 -1
  39. package/dist/src/core/contentGenerator.test.js +1 -0
  40. package/dist/src/core/contentGenerator.test.js.map +1 -1
  41. package/dist/src/core/coreToolScheduler.d.ts +4 -0
  42. package/dist/src/core/coreToolScheduler.js +66 -2
  43. package/dist/src/core/coreToolScheduler.js.map +1 -1
  44. package/dist/src/core/coreToolScheduler.test.js +172 -5
  45. package/dist/src/core/coreToolScheduler.test.js.map +1 -1
  46. package/dist/src/core/geminiChat.d.ts +2 -8
  47. package/dist/src/core/geminiChat.js +42 -46
  48. package/dist/src/core/geminiChat.js.map +1 -1
  49. package/dist/src/core/geminiChat.test.js +207 -48
  50. package/dist/src/core/geminiChat.test.js.map +1 -1
  51. package/dist/src/core/loggingContentGenerator.js +3 -6
  52. package/dist/src/core/loggingContentGenerator.js.map +1 -1
  53. package/dist/src/core/nonInteractiveToolExecutor.test.js +8 -1
  54. package/dist/src/core/nonInteractiveToolExecutor.test.js.map +1 -1
  55. package/dist/src/core/prompts.d.ts +5 -0
  56. package/dist/src/core/prompts.js +64 -43
  57. package/dist/src/core/prompts.js.map +1 -1
  58. package/dist/src/core/prompts.test.js +146 -17
  59. package/dist/src/core/prompts.test.js.map +1 -1
  60. package/dist/src/core/subagent.js +1 -3
  61. package/dist/src/core/subagent.js.map +1 -1
  62. package/dist/src/core/subagent.test.js +3 -5
  63. package/dist/src/core/subagent.test.js.map +1 -1
  64. package/dist/src/core/turn.d.ts +1 -0
  65. package/dist/src/core/turn.js.map +1 -1
  66. package/dist/src/fallback/handler.d.ts +7 -0
  67. package/dist/src/fallback/handler.js +51 -0
  68. package/dist/src/fallback/handler.js.map +1 -0
  69. package/dist/src/fallback/handler.test.d.ts +6 -0
  70. package/dist/src/fallback/handler.test.js +130 -0
  71. package/dist/src/fallback/handler.test.js.map +1 -0
  72. package/dist/src/fallback/types.d.ts +14 -0
  73. package/dist/src/fallback/types.js +7 -0
  74. package/dist/src/fallback/types.js.map +1 -0
  75. package/dist/src/generated/git-commit.d.ts +2 -2
  76. package/dist/src/generated/git-commit.js +2 -2
  77. package/dist/src/generated/git-commit.js.map +1 -1
  78. package/dist/src/ide/constants.d.ts +2 -0
  79. package/dist/src/ide/constants.js +2 -0
  80. package/dist/src/ide/constants.js.map +1 -1
  81. package/dist/src/ide/ide-client.d.ts +1 -1
  82. package/dist/src/ide/ide-client.js +61 -2
  83. package/dist/src/ide/ide-client.js.map +1 -1
  84. package/dist/src/ide/ide-client.test.js +165 -0
  85. package/dist/src/ide/ide-client.test.js.map +1 -1
  86. package/dist/src/ide/ideContext.d.ts +1 -264
  87. package/dist/src/ide/ideContext.js +42 -31
  88. package/dist/src/ide/ideContext.js.map +1 -1
  89. package/dist/src/ide/ideContext.test.js +154 -24
  90. package/dist/src/ide/ideContext.test.js.map +1 -1
  91. package/dist/src/ide/process-utils.js +8 -1
  92. package/dist/src/ide/process-utils.js.map +1 -1
  93. package/dist/src/ide/types.d.ts +345 -0
  94. package/dist/src/ide/types.js +65 -0
  95. package/dist/src/ide/types.js.map +1 -0
  96. package/dist/src/index.d.ts +3 -0
  97. package/dist/src/index.js +3 -0
  98. package/dist/src/index.js.map +1 -1
  99. package/dist/src/mcp/oauth-provider.js +3 -3
  100. package/dist/src/mcp/oauth-provider.js.map +1 -1
  101. package/dist/src/mcp/oauth-provider.test.js +12 -12
  102. package/dist/src/mcp/oauth-provider.test.js.map +1 -1
  103. package/dist/src/mcp/oauth-token-storage.d.ts +8 -6
  104. package/dist/src/mcp/oauth-token-storage.js +24 -17
  105. package/dist/src/mcp/oauth-token-storage.js.map +1 -1
  106. package/dist/src/mcp/oauth-token-storage.test.js +18 -18
  107. package/dist/src/mcp/oauth-token-storage.test.js.map +1 -1
  108. package/dist/src/telemetry/clearcut-logger/clearcut-logger.d.ts +2 -0
  109. package/dist/src/telemetry/clearcut-logger/clearcut-logger.js +7 -0
  110. package/dist/src/telemetry/clearcut-logger/clearcut-logger.js.map +1 -1
  111. package/dist/src/telemetry/clearcut-logger/clearcut-logger.test.js +20 -1
  112. package/dist/src/telemetry/clearcut-logger/clearcut-logger.test.js.map +1 -1
  113. package/dist/src/telemetry/constants.d.ts +1 -0
  114. package/dist/src/telemetry/constants.js +1 -0
  115. package/dist/src/telemetry/constants.js.map +1 -1
  116. package/dist/src/telemetry/high-water-mark-tracker.d.ts +43 -0
  117. package/dist/src/telemetry/high-water-mark-tracker.js +88 -0
  118. package/dist/src/telemetry/high-water-mark-tracker.js.map +1 -0
  119. package/dist/src/telemetry/high-water-mark-tracker.test.d.ts +6 -0
  120. package/dist/src/telemetry/high-water-mark-tracker.test.js +152 -0
  121. package/dist/src/telemetry/high-water-mark-tracker.test.js.map +1 -0
  122. package/dist/src/telemetry/index.d.ts +2 -0
  123. package/dist/src/telemetry/index.js +2 -0
  124. package/dist/src/telemetry/index.js.map +1 -1
  125. package/dist/src/telemetry/loggers.d.ts +2 -1
  126. package/dist/src/telemetry/loggers.js +18 -1
  127. package/dist/src/telemetry/loggers.js.map +1 -1
  128. package/dist/src/telemetry/loggers.test.js +64 -5
  129. package/dist/src/telemetry/loggers.test.js.map +1 -1
  130. package/dist/src/telemetry/rate-limiter.d.ts +48 -0
  131. package/dist/src/telemetry/rate-limiter.js +100 -0
  132. package/dist/src/telemetry/rate-limiter.js.map +1 -0
  133. package/dist/src/telemetry/rate-limiter.test.d.ts +6 -0
  134. package/dist/src/telemetry/rate-limiter.test.js +207 -0
  135. package/dist/src/telemetry/rate-limiter.test.js.map +1 -0
  136. package/dist/src/telemetry/types.d.ts +6 -0
  137. package/dist/src/telemetry/types.js +14 -0
  138. package/dist/src/telemetry/types.js.map +1 -1
  139. package/dist/src/tools/mcp-client-manager.js +5 -21
  140. package/dist/src/tools/mcp-client-manager.js.map +1 -1
  141. package/dist/src/tools/mcp-client.js +5 -5
  142. package/dist/src/tools/mcp-client.js.map +1 -1
  143. package/dist/src/tools/read-file.js +7 -2
  144. package/dist/src/tools/read-file.js.map +1 -1
  145. package/dist/src/tools/read-file.test.js +29 -0
  146. package/dist/src/tools/read-file.test.js.map +1 -1
  147. package/dist/src/tools/ripGrep.d.ts +4 -0
  148. package/dist/src/tools/ripGrep.js +17 -2
  149. package/dist/src/tools/ripGrep.js.map +1 -1
  150. package/dist/src/tools/ripGrep.test.js +57 -5
  151. package/dist/src/tools/ripGrep.test.js.map +1 -1
  152. package/dist/src/tools/smart-edit.js +1 -1
  153. package/dist/src/tools/smart-edit.js.map +1 -1
  154. package/dist/src/tools/smart-edit.test.js +5 -0
  155. package/dist/src/tools/smart-edit.test.js.map +1 -1
  156. package/dist/src/utils/fileUtils.d.ts +1 -0
  157. package/dist/src/utils/fileUtils.js +10 -0
  158. package/dist/src/utils/fileUtils.js.map +1 -1
  159. package/dist/src/utils/fileUtils.test.js +17 -1
  160. package/dist/src/utils/fileUtils.test.js.map +1 -1
  161. package/dist/src/utils/filesearch/crawler.test.js +1 -1
  162. package/dist/src/utils/filesearch/crawler.test.js.map +1 -1
  163. package/dist/src/utils/filesearch/fileSearch.test.js +1 -1
  164. package/dist/src/utils/filesearch/fileSearch.test.js.map +1 -1
  165. package/dist/src/utils/filesearch/ignore.test.js +1 -1
  166. package/dist/src/utils/filesearch/ignore.test.js.map +1 -1
  167. package/dist/src/utils/flashFallback.test.d.ts +6 -0
  168. package/dist/src/utils/{flashFallback.integration.test.js → flashFallback.test.js} +31 -27
  169. package/dist/src/utils/flashFallback.test.js.map +1 -0
  170. package/dist/src/utils/gitIgnoreParser.d.ts +1 -0
  171. package/dist/src/utils/gitIgnoreParser.js +33 -24
  172. package/dist/src/utils/gitIgnoreParser.js.map +1 -1
  173. package/dist/src/utils/llm-edit-fixer.d.ts +4 -3
  174. package/dist/src/utils/llm-edit-fixer.js +19 -10
  175. package/dist/src/utils/llm-edit-fixer.js.map +1 -1
  176. package/dist/src/utils/llm-edit-fixer.test.d.ts +6 -0
  177. package/dist/src/utils/llm-edit-fixer.test.js +105 -0
  178. package/dist/src/utils/llm-edit-fixer.test.js.map +1 -0
  179. package/dist/src/utils/nextSpeakerChecker.test.js +13 -42
  180. package/dist/src/utils/nextSpeakerChecker.test.js.map +1 -1
  181. package/dist/src/utils/promptIdContext.d.ts +7 -0
  182. package/dist/src/utils/promptIdContext.js +8 -0
  183. package/dist/src/utils/promptIdContext.js.map +1 -0
  184. package/dist/tsconfig.tsbuildinfo +1 -1
  185. package/package.json +3 -2
  186. package/dist/src/utils/flashFallback.integration.test.js.map +0 -1
  187. /package/dist/src/{utils/flashFallback.integration.test.d.ts → code_assist/oauth-credential-storage.test.d.ts} +0 -0
@@ -5,13 +5,13 @@
5
5
  */
6
6
  import * as path from 'node:path';
7
7
  import process from 'node:process';
8
- import { AuthType, createContentGeneratorConfig, } from '../core/contentGenerator.js';
8
+ import { AuthType, createContentGenerator, createContentGeneratorConfig, } from '../core/contentGenerator.js';
9
9
  import { PromptRegistry } from '../prompts/prompt-registry.js';
10
10
  import { ToolRegistry } from '../tools/tool-registry.js';
11
11
  import { LSTool } from '../tools/ls.js';
12
12
  import { ReadFileTool } from '../tools/read-file.js';
13
13
  import { GrepTool } from '../tools/grep.js';
14
- import { RipGrepTool } from '../tools/ripGrep.js';
14
+ import { canUseRipgrep, RipGrepTool } from '../tools/ripGrep.js';
15
15
  import { GlobTool } from '../tools/glob.js';
16
16
  import { EditTool } from '../tools/edit.js';
17
17
  import { SmartEditTool } from '../tools/smart-edit.js';
@@ -22,6 +22,7 @@ import { ReadManyFilesTool } from '../tools/read-many-files.js';
22
22
  import { MemoryTool, setGeminiMdFilename } from '../tools/memoryTool.js';
23
23
  import { WebSearchTool } from '../tools/web-search.js';
24
24
  import { GeminiClient } from '../core/client.js';
25
+ import { BaseLlmClient } from '../core/baseLlmClient.js';
25
26
  import { FileDiscoveryService } from '../services/fileDiscoveryService.js';
26
27
  import { GitService } from '../services/gitService.js';
27
28
  import { initializeTelemetry, DEFAULT_TELEMETRY_TARGET, DEFAULT_OTLP_ENDPOINT, } from '../telemetry/index.js';
@@ -31,11 +32,12 @@ import { shouldAttemptBrowserLaunch } from '../utils/browser.js';
31
32
  import { IdeClient } from '../ide/ide-client.js';
32
33
  import { ideContext } from '../ide/ideContext.js';
33
34
  import { StandardFileSystemService } from '../services/fileSystemService.js';
34
- import { logCliConfiguration, logIdeConnection } from '../telemetry/loggers.js';
35
- import { IdeConnectionEvent, IdeConnectionType } from '../telemetry/types.js';
35
+ import { logCliConfiguration, logIdeConnection, logRipgrepFallback, } from '../telemetry/loggers.js';
36
+ import { IdeConnectionEvent, IdeConnectionType, RipgrepFallbackEvent, } from '../telemetry/types.js';
36
37
  import { WorkspaceContext } from '../utils/workspaceContext.js';
37
38
  import { Storage } from './storage.js';
38
39
  import { FileExclusions } from '../utils/ignorePatterns.js';
40
+ import { ProxyAgent, setGlobalDispatcher } from 'undici';
39
41
  export var ApprovalMode;
40
42
  (function (ApprovalMode) {
41
43
  ApprovalMode["DEFAULT"] = "default";
@@ -52,6 +54,8 @@ export const DEFAULT_FILE_FILTERING_OPTIONS = {
52
54
  respectGitIgnore: true,
53
55
  respectGeminiIgnore: true,
54
56
  };
57
+ export const DEFAULT_TRUNCATE_TOOL_OUTPUT_THRESHOLD = 4_000_000;
58
+ export const DEFAULT_TRUNCATE_TOOL_OUTPUT_LINES = 1000;
55
59
  export class MCPServerConfig {
56
60
  command;
57
61
  args;
@@ -113,6 +117,7 @@ export class Config {
113
117
  sessionId;
114
118
  fileSystemService;
115
119
  contentGeneratorConfig;
120
+ contentGenerator;
116
121
  embeddingModel;
117
122
  sandbox;
118
123
  targetDir;
@@ -135,6 +140,7 @@ export class Config {
135
140
  telemetrySettings;
136
141
  usageStatisticsEnabled;
137
142
  geminiClient;
143
+ baseLlmClient;
138
144
  fileFiltering;
139
145
  fileDiscoveryService = null;
140
146
  gitService = undefined;
@@ -157,7 +163,7 @@ export class Config {
157
163
  listExtensions;
158
164
  _extensions;
159
165
  _blockedMcpServers;
160
- flashFallbackHandler;
166
+ fallbackModelHandler;
161
167
  quotaErrorOccurred = false;
162
168
  summarizeToolOutput;
163
169
  experimentalZedIntegration = false;
@@ -170,6 +176,9 @@ export class Config {
170
176
  skipNextSpeakerCheck;
171
177
  extensionManagement = true;
172
178
  enablePromptCompletion = false;
179
+ truncateToolOutputThreshold;
180
+ truncateToolOutputLines;
181
+ enableToolOutputTruncation;
173
182
  initialized = false;
174
183
  storage;
175
184
  fileExclusions;
@@ -242,8 +251,15 @@ export class Config {
242
251
  this.trustedFolder = params.trustedFolder;
243
252
  this.useRipgrep = params.useRipgrep ?? false;
244
253
  this.shouldUseNodePtyShell = params.shouldUseNodePtyShell ?? false;
245
- this.skipNextSpeakerCheck = params.skipNextSpeakerCheck ?? false;
246
- this.useSmartEdit = params.useSmartEdit ?? false;
254
+ this.skipNextSpeakerCheck = params.skipNextSpeakerCheck ?? true;
255
+ this.truncateToolOutputThreshold =
256
+ params.truncateToolOutputThreshold ??
257
+ DEFAULT_TRUNCATE_TOOL_OUTPUT_THRESHOLD;
258
+ this.truncateToolOutputLines =
259
+ params.truncateToolOutputLines ?? DEFAULT_TRUNCATE_TOOL_OUTPUT_LINES;
260
+ this.enableToolOutputTruncation =
261
+ params.enableToolOutputTruncation ?? false;
262
+ this.useSmartEdit = params.useSmartEdit ?? true;
247
263
  this.extensionManagement = params.extensionManagement ?? true;
248
264
  this.storage = new Storage(this.targetDir);
249
265
  this.enablePromptCompletion = params.enablePromptCompletion ?? false;
@@ -255,6 +271,10 @@ export class Config {
255
271
  if (this.telemetrySettings.enabled) {
256
272
  initializeTelemetry(this);
257
273
  }
274
+ if (this.getProxy()) {
275
+ setGlobalDispatcher(new ProxyAgent(this.getProxy()));
276
+ }
277
+ this.geminiClient = new GeminiClient(this);
258
278
  }
259
279
  /**
260
280
  * Must only be called once, throws if called again.
@@ -276,38 +296,50 @@ export class Config {
276
296
  this.promptRegistry = new PromptRegistry();
277
297
  this.toolRegistry = await this.createToolRegistry();
278
298
  logCliConfiguration(this, new StartSessionEvent(this, this.toolRegistry));
299
+ await this.geminiClient.initialize();
300
+ }
301
+ getContentGenerator() {
302
+ return this.contentGenerator;
279
303
  }
280
304
  async refreshAuth(authMethod, displayMessage) {
281
- // Save the current conversation history before creating a new client
282
- let existingHistory = [];
283
- if (this.geminiClient && this.geminiClient.isInitialized()) {
284
- existingHistory = this.geminiClient.getHistory();
305
+ // Vertex and Genai have incompatible encryption and sending history with
306
+ // throughtSignature from Genai to Vertex will fail, we need to strip them
307
+ if (this.contentGeneratorConfig?.authType === AuthType.USE_GEMINI &&
308
+ authMethod === AuthType.LOGIN_WITH_GOOGLE) {
309
+ // Restore the conversation history to the new client
310
+ this.geminiClient.stripThoughtsFromHistory();
285
311
  }
286
- // Create new content generator config
287
312
  const newContentGeneratorConfig = await createContentGeneratorConfig(this, authMethod, {
288
313
  clientId: this.keycloakClientId,
289
314
  deviceEndpoint: this.keycloakDeviceEndpoint,
290
315
  tokenEndpoint: this.keycloakTokenEndpoint,
291
316
  }, displayMessage);
292
- // Create and initialize new client in local variable first
293
- const newGeminiClient = new GeminiClient(this);
294
- await newGeminiClient.initialize(newContentGeneratorConfig);
295
- // Vertex and Genai have incompatible encryption and sending history with
296
- // throughtSignature from Genai to Vertex will fail, we need to strip them
297
- const fromGenaiToVertex = this.contentGeneratorConfig?.authType === AuthType.USE_GEMINI &&
298
- authMethod === AuthType.LOGIN_WITH_GOOGLE;
317
+ this.contentGenerator = await createContentGenerator(newContentGeneratorConfig, this, this.getSessionId());
299
318
  // Only assign to instance properties after successful initialization
300
319
  this.contentGeneratorConfig = newContentGeneratorConfig;
301
- this.geminiClient = newGeminiClient;
302
- // Restore the conversation history to the new client
303
- if (existingHistory.length > 0) {
304
- this.geminiClient.setHistory(existingHistory, {
305
- stripThoughts: fromGenaiToVertex,
306
- });
307
- }
320
+ // Initialize BaseLlmClient now that the ContentGenerator is available
321
+ this.baseLlmClient = new BaseLlmClient(this.contentGenerator, this);
308
322
  // Reset the session flag since we're explicitly changing auth and using default model
309
323
  this.inFallbackMode = false;
310
324
  }
325
+ getUserTier() {
326
+ return this.contentGenerator?.userTier;
327
+ }
328
+ /**
329
+ * Provides access to the BaseLlmClient for stateless LLM operations.
330
+ */
331
+ getBaseLlmClient() {
332
+ if (!this.baseLlmClient) {
333
+ // Handle cases where initialization might be deferred or authentication failed
334
+ if (this.contentGenerator) {
335
+ this.baseLlmClient = new BaseLlmClient(this.getContentGenerator(), this);
336
+ }
337
+ else {
338
+ throw new Error('BaseLlmClient not initialized. Ensure authentication has occurred and ContentGenerator is ready.');
339
+ }
340
+ }
341
+ return this.baseLlmClient;
342
+ }
311
343
  getSessionId() {
312
344
  return this.sessionId;
313
345
  }
@@ -331,8 +363,8 @@ export class Config {
331
363
  setFallbackMode(active) {
332
364
  this.inFallbackMode = active;
333
365
  }
334
- setFlashFallbackHandler(handler) {
335
- this.flashFallbackHandler = handler;
366
+ setFallbackModelHandler(handler) {
367
+ this.fallbackModelHandler = handler;
336
368
  }
337
369
  getMaxSessionTurns() {
338
370
  return this.maxSessionTurns;
@@ -608,6 +640,15 @@ export class Config {
608
640
  getEnablePromptCompletion() {
609
641
  return this.enablePromptCompletion;
610
642
  }
643
+ getEnableToolOutputTruncation() {
644
+ return this.enableToolOutputTruncation;
645
+ }
646
+ getTruncateToolOutputThreshold() {
647
+ return this.truncateToolOutputThreshold;
648
+ }
649
+ getTruncateToolOutputLines() {
650
+ return this.truncateToolOutputLines;
651
+ }
611
652
  getUseSmartEdit() {
612
653
  return this.useSmartEdit;
613
654
  }
@@ -650,7 +691,21 @@ export class Config {
650
691
  registerCoreTool(LSTool, this);
651
692
  registerCoreTool(ReadFileTool, this);
652
693
  if (this.getUseRipgrep()) {
653
- registerCoreTool(RipGrepTool, this);
694
+ let useRipgrep = false;
695
+ let errorString = undefined;
696
+ try {
697
+ useRipgrep = await canUseRipgrep();
698
+ }
699
+ catch (error) {
700
+ errorString = String(error);
701
+ }
702
+ if (useRipgrep) {
703
+ registerCoreTool(RipGrepTool, this);
704
+ }
705
+ else {
706
+ logRipgrepFallback(this, new RipgrepFallbackEvent(errorString));
707
+ registerCoreTool(GrepTool, this);
708
+ }
654
709
  }
655
710
  else {
656
711
  registerCoreTool(GrepTool, this);
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/config/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/config/config.ts"],"names":[],"mappings":"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"}
@@ -14,6 +14,11 @@ import { GitService } from '../services/gitService.js';
14
14
  import { ClearcutLogger } from '../telemetry/clearcut-logger/clearcut-logger.js';
15
15
  import { ShellTool } from '../tools/shell.js';
16
16
  import { ReadFileTool } from '../tools/read-file.js';
17
+ import { GrepTool } from '../tools/grep.js';
18
+ import { RipGrepTool, canUseRipgrep } from '../tools/ripGrep.js';
19
+ import { logRipgrepFallback } from '../telemetry/loggers.js';
20
+ import { RipgrepFallbackEvent } from '../telemetry/types.js';
21
+ import { ToolRegistry } from '../tools/tool-registry.js';
17
22
  vi.mock('fs', async (importOriginal) => {
18
23
  const actual = await importOriginal();
19
24
  return {
@@ -41,7 +46,12 @@ vi.mock('../utils/memoryDiscovery.js', () => ({
41
46
  // Mock individual tools if their constructors are complex or have side effects
42
47
  vi.mock('../tools/ls');
43
48
  vi.mock('../tools/read-file');
44
- vi.mock('../tools/grep');
49
+ vi.mock('../tools/grep.js');
50
+ vi.mock('../tools/ripGrep.js', () => ({
51
+ canUseRipgrep: vi.fn(),
52
+ RipGrepTool: class MockRipGrepTool {
53
+ },
54
+ }));
45
55
  vi.mock('../tools/glob');
46
56
  vi.mock('../tools/edit');
47
57
  vi.mock('../tools/shell');
@@ -55,16 +65,11 @@ vi.mock('../tools/memoryTool', () => ({
55
65
  DEFAULT_CONTEXT_FILENAME: 'GEMINI.md',
56
66
  CELL_CONFIG_DIR: '.cell-cli',
57
67
  }));
58
- vi.mock('../core/contentGenerator.js', async (importOriginal) => {
59
- const actual = await importOriginal();
60
- return {
61
- ...actual,
62
- createContentGeneratorConfig: vi.fn(),
63
- };
64
- });
68
+ vi.mock('../core/contentGenerator.js');
65
69
  vi.mock('../core/client.js', () => ({
66
70
  GeminiClient: vi.fn().mockImplementation(() => ({
67
71
  initialize: vi.fn().mockResolvedValue(undefined),
72
+ stripThoughtsFromHistory: vi.fn(),
68
73
  })),
69
74
  }));
70
75
  vi.mock('../telemetry/index.js', async (importOriginal) => {
@@ -74,6 +79,13 @@ vi.mock('../telemetry/index.js', async (importOriginal) => {
74
79
  initializeTelemetry: vi.fn(),
75
80
  };
76
81
  });
82
+ vi.mock('../telemetry/loggers.js', async (importOriginal) => {
83
+ const actual = await importOriginal();
84
+ return {
85
+ ...actual,
86
+ logRipgrepFallback: vi.fn(),
87
+ };
88
+ });
77
89
  vi.mock('../services/gitService.js', () => {
78
90
  const GitServiceMock = vi.fn();
79
91
  GitServiceMock.prototype.initialize = vi.fn();
@@ -88,6 +100,8 @@ vi.mock('../ide/ide-client.js', () => ({
88
100
  }),
89
101
  },
90
102
  }));
103
+ import { BaseLlmClient } from '../core/baseLlmClient.js';
104
+ vi.mock('../core/baseLlmClient.js');
91
105
  describe('Server Config (config.ts)', () => {
92
106
  const MODEL = 'gemini-pro';
93
107
  const SANDBOX = {
@@ -158,7 +172,7 @@ describe('Server Config (config.ts)', () => {
158
172
  model: newModel,
159
173
  apiKey: 'test-key',
160
174
  };
161
- createContentGeneratorConfig.mockResolvedValue(mockContentConfig);
175
+ vi.mocked(createContentGeneratorConfig).mockResolvedValue(mockContentConfig);
162
176
  // Set fallback mode to true to ensure it gets reset
163
177
  config.setFallbackMode(true);
164
178
  expect(config.isInFallbackMode()).toBe(true);
@@ -176,125 +190,23 @@ describe('Server Config (config.ts)', () => {
176
190
  // Verify that fallback mode is reset
177
191
  expect(config.isInFallbackMode()).toBe(false);
178
192
  });
179
- it('should preserve conversation history when refreshing auth', async () => {
180
- const config = new Config(baseParams);
181
- const authType = AuthType.USE_GEMINI;
182
- const mockContentConfig = {
183
- model: 'gemini-pro',
184
- apiKey: 'test-key',
185
- };
186
- createContentGeneratorConfig.mockResolvedValue(mockContentConfig);
187
- // Mock the existing client with some history
188
- const mockExistingHistory = [
189
- { role: 'user', parts: [{ text: 'Hello' }] },
190
- { role: 'model', parts: [{ text: 'Hi there!' }] },
191
- { role: 'user', parts: [{ text: 'How are you?' }] },
192
- ];
193
- const mockExistingClient = {
194
- isInitialized: vi.fn().mockReturnValue(true),
195
- getHistory: vi.fn().mockReturnValue(mockExistingHistory),
196
- };
197
- const mockNewClient = {
198
- isInitialized: vi.fn().mockReturnValue(true),
199
- getHistory: vi.fn().mockReturnValue([]),
200
- setHistory: vi.fn(),
201
- initialize: vi.fn().mockResolvedValue(undefined),
202
- };
203
- // Set the existing client
204
- config.geminiClient = mockExistingClient;
205
- GeminiClient.mockImplementation(() => mockNewClient);
206
- await config.refreshAuth(authType);
207
- // Verify that existing history was retrieved
208
- expect(mockExistingClient.getHistory).toHaveBeenCalled();
209
- // Verify that new client was created and initialized
210
- expect(GeminiClient).toHaveBeenCalledWith(config);
211
- expect(mockNewClient.initialize).toHaveBeenCalledWith(mockContentConfig);
212
- // Verify that history was restored to the new client
213
- expect(mockNewClient.setHistory).toHaveBeenCalledWith(mockExistingHistory, { stripThoughts: false });
214
- });
215
- it('should handle case when no existing client is initialized', async () => {
216
- const config = new Config(baseParams);
217
- const authType = AuthType.USE_GEMINI;
218
- const mockContentConfig = {
219
- model: 'gemini-pro',
220
- apiKey: 'test-key',
221
- };
222
- createContentGeneratorConfig.mockResolvedValue(mockContentConfig);
223
- const mockNewClient = {
224
- isInitialized: vi.fn().mockReturnValue(true),
225
- getHistory: vi.fn().mockReturnValue([]),
226
- setHistory: vi.fn(),
227
- initialize: vi.fn().mockResolvedValue(undefined),
228
- };
229
- // No existing client
230
- config.geminiClient = null;
231
- GeminiClient.mockImplementation(() => mockNewClient);
232
- await config.refreshAuth(authType);
233
- // Verify that new client was created and initialized
234
- expect(GeminiClient).toHaveBeenCalledWith(config);
235
- expect(mockNewClient.initialize).toHaveBeenCalledWith(mockContentConfig);
236
- // Verify that setHistory was not called since there was no existing history
237
- expect(mockNewClient.setHistory).not.toHaveBeenCalled();
238
- });
239
193
  it('should strip thoughts when switching from GenAI to Vertex', async () => {
240
194
  const config = new Config(baseParams);
241
- const mockContentConfig = {
242
- model: 'gemini-pro',
243
- apiKey: 'test-key',
244
- authType: AuthType.USE_GEMINI,
245
- };
246
- config.contentGeneratorConfig = mockContentConfig;
247
- createContentGeneratorConfig.mockReturnValue({
248
- ...mockContentConfig,
249
- authType: AuthType.LOGIN_WITH_GOOGLE,
250
- });
251
- const mockExistingHistory = [
252
- { role: 'user', parts: [{ text: 'Hello' }] },
253
- ];
254
- const mockExistingClient = {
255
- isInitialized: vi.fn().mockReturnValue(true),
256
- getHistory: vi.fn().mockReturnValue(mockExistingHistory),
257
- };
258
- const mockNewClient = {
259
- isInitialized: vi.fn().mockReturnValue(true),
260
- getHistory: vi.fn().mockReturnValue([]),
261
- setHistory: vi.fn(),
262
- initialize: vi.fn().mockResolvedValue(undefined),
263
- };
264
- config.geminiClient = mockExistingClient;
265
- GeminiClient.mockImplementation(() => mockNewClient);
195
+ vi.mocked(createContentGeneratorConfig).mockImplementation(async (_, authType) => Promise.resolve({
196
+ authType,
197
+ }));
198
+ await config.refreshAuth(AuthType.USE_GEMINI);
266
199
  await config.refreshAuth(AuthType.LOGIN_WITH_GOOGLE);
267
- expect(mockNewClient.setHistory).toHaveBeenCalledWith(mockExistingHistory, { stripThoughts: true });
200
+ expect(config.getGeminiClient().stripThoughtsFromHistory).toHaveBeenCalledWith();
268
201
  });
269
202
  it('should not strip thoughts when switching from Vertex to GenAI', async () => {
270
203
  const config = new Config(baseParams);
271
- const mockContentConfig = {
272
- model: 'gemini-pro',
273
- apiKey: 'test-key',
274
- authType: AuthType.LOGIN_WITH_GOOGLE,
275
- };
276
- config.contentGeneratorConfig = mockContentConfig;
277
- createContentGeneratorConfig.mockReturnValue({
278
- ...mockContentConfig,
279
- authType: AuthType.USE_GEMINI,
280
- });
281
- const mockExistingHistory = [
282
- { role: 'user', parts: [{ text: 'Hello' }] },
283
- ];
284
- const mockExistingClient = {
285
- isInitialized: vi.fn().mockReturnValue(true),
286
- getHistory: vi.fn().mockReturnValue(mockExistingHistory),
287
- };
288
- const mockNewClient = {
289
- isInitialized: vi.fn().mockReturnValue(true),
290
- getHistory: vi.fn().mockReturnValue([]),
291
- setHistory: vi.fn(),
292
- initialize: vi.fn().mockResolvedValue(undefined),
293
- };
294
- config.geminiClient = mockExistingClient;
295
- GeminiClient.mockImplementation(() => mockNewClient);
204
+ vi.mocked(createContentGeneratorConfig).mockImplementation(async (_, authType) => Promise.resolve({
205
+ authType,
206
+ }));
207
+ await config.refreshAuth(AuthType.USE_VERTEX_AI);
296
208
  await config.refreshAuth(AuthType.USE_GEMINI);
297
- expect(mockNewClient.setHistory).toHaveBeenCalledWith(mockExistingHistory, { stripThoughts: false });
209
+ expect(config.getGeminiClient().stripThoughtsFromHistory).not.toHaveBeenCalledWith();
298
210
  });
299
211
  });
300
212
  it('Config constructor should store userMemory correctly', () => {
@@ -630,5 +542,103 @@ describe('setApprovalMode with folder trust', () => {
630
542
  expect(() => config.setApprovalMode(ApprovalMode.AUTO_EDIT)).not.toThrow();
631
543
  expect(() => config.setApprovalMode(ApprovalMode.DEFAULT)).not.toThrow();
632
544
  });
545
+ describe('registerCoreTools', () => {
546
+ beforeEach(() => {
547
+ vi.clearAllMocks();
548
+ });
549
+ it('should register RipGrepTool when useRipgrep is true and it is available', async () => {
550
+ canUseRipgrep.mockResolvedValue(true);
551
+ const config = new Config({ ...baseParams, useRipgrep: true });
552
+ await config.initialize();
553
+ const calls = ToolRegistry.prototype.registerTool.mock.calls;
554
+ const wasRipGrepRegistered = calls.some((call) => call[0] instanceof vi.mocked(RipGrepTool));
555
+ const wasGrepRegistered = calls.some((call) => call[0] instanceof vi.mocked(GrepTool));
556
+ expect(wasRipGrepRegistered).toBe(true);
557
+ expect(wasGrepRegistered).toBe(false);
558
+ expect(logRipgrepFallback).not.toHaveBeenCalled();
559
+ });
560
+ it('should register GrepTool as a fallback when useRipgrep is true but it is not available', async () => {
561
+ canUseRipgrep.mockResolvedValue(false);
562
+ const config = new Config({ ...baseParams, useRipgrep: true });
563
+ await config.initialize();
564
+ const calls = ToolRegistry.prototype.registerTool.mock.calls;
565
+ const wasRipGrepRegistered = calls.some((call) => call[0] instanceof vi.mocked(RipGrepTool));
566
+ const wasGrepRegistered = calls.some((call) => call[0] instanceof vi.mocked(GrepTool));
567
+ expect(wasRipGrepRegistered).toBe(false);
568
+ expect(wasGrepRegistered).toBe(true);
569
+ expect(logRipgrepFallback).toHaveBeenCalledWith(config, expect.any(RipgrepFallbackEvent));
570
+ const event = logRipgrepFallback.mock.calls[0][1];
571
+ expect(event.error).toBeUndefined();
572
+ });
573
+ it('should register GrepTool as a fallback when canUseRipgrep throws an error', async () => {
574
+ const error = new Error('ripGrep check failed');
575
+ canUseRipgrep.mockRejectedValue(error);
576
+ const config = new Config({ ...baseParams, useRipgrep: true });
577
+ await config.initialize();
578
+ const calls = ToolRegistry.prototype.registerTool.mock.calls;
579
+ const wasRipGrepRegistered = calls.some((call) => call[0] instanceof vi.mocked(RipGrepTool));
580
+ const wasGrepRegistered = calls.some((call) => call[0] instanceof vi.mocked(GrepTool));
581
+ expect(wasRipGrepRegistered).toBe(false);
582
+ expect(wasGrepRegistered).toBe(true);
583
+ expect(logRipgrepFallback).toHaveBeenCalledWith(config, expect.any(RipgrepFallbackEvent));
584
+ const event = logRipgrepFallback.mock.calls[0][1];
585
+ expect(event.error).toBe(String(error));
586
+ });
587
+ it('should register GrepTool when useRipgrep is false', async () => {
588
+ const config = new Config({ ...baseParams, useRipgrep: false });
589
+ await config.initialize();
590
+ const calls = ToolRegistry.prototype.registerTool.mock.calls;
591
+ const wasRipGrepRegistered = calls.some((call) => call[0] instanceof vi.mocked(RipGrepTool));
592
+ const wasGrepRegistered = calls.some((call) => call[0] instanceof vi.mocked(GrepTool));
593
+ expect(wasRipGrepRegistered).toBe(false);
594
+ expect(wasGrepRegistered).toBe(true);
595
+ expect(canUseRipgrep).not.toHaveBeenCalled();
596
+ expect(logRipgrepFallback).not.toHaveBeenCalled();
597
+ });
598
+ });
599
+ });
600
+ describe('BaseLlmClient Lifecycle', () => {
601
+ const MODEL = 'gemini-pro';
602
+ const SANDBOX = {
603
+ command: 'docker',
604
+ image: 'gemini-cli-sandbox',
605
+ };
606
+ const TARGET_DIR = '/path/to/target';
607
+ const DEBUG_MODE = false;
608
+ const QUESTION = 'test question';
609
+ const FULL_CONTEXT = false;
610
+ const USER_MEMORY = 'Test User Memory';
611
+ const TELEMETRY_SETTINGS = { enabled: false };
612
+ const EMBEDDING_MODEL = 'gemini-embedding';
613
+ const SESSION_ID = 'test-session-id';
614
+ const baseParams = {
615
+ cwd: '/tmp',
616
+ embeddingModel: EMBEDDING_MODEL,
617
+ sandbox: SANDBOX,
618
+ targetDir: TARGET_DIR,
619
+ debugMode: DEBUG_MODE,
620
+ question: QUESTION,
621
+ fullContext: FULL_CONTEXT,
622
+ userMemory: USER_MEMORY,
623
+ telemetry: TELEMETRY_SETTINGS,
624
+ sessionId: SESSION_ID,
625
+ model: MODEL,
626
+ usageStatisticsEnabled: false,
627
+ };
628
+ it('should throw an error if getBaseLlmClient is called before refreshAuth', () => {
629
+ const config = new Config(baseParams);
630
+ expect(() => config.getBaseLlmClient()).toThrow('BaseLlmClient not initialized. Ensure authentication has occurred and ContentGenerator is ready.');
631
+ });
632
+ it('should successfully initialize BaseLlmClient after refreshAuth is called', async () => {
633
+ const config = new Config(baseParams);
634
+ const authType = AuthType.USE_GEMINI;
635
+ const mockContentConfig = { model: 'gemini-flash', apiKey: 'test-key' };
636
+ vi.mocked(createContentGeneratorConfig).mockResolvedValue(mockContentConfig);
637
+ await config.refreshAuth(authType);
638
+ // Should not throw
639
+ const llmService = config.getBaseLlmClient();
640
+ expect(llmService).toBeDefined();
641
+ expect(BaseLlmClient).toHaveBeenCalledWith(config.getContentGenerator(), config);
642
+ });
633
643
  });
634
644
  //# sourceMappingURL=config.test.js.map