@vybestack/llxprt-code-core 0.1.22 → 0.1.23

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 (157) hide show
  1. package/dist/src/config/config.d.ts +14 -1
  2. package/dist/src/config/config.js +23 -3
  3. package/dist/src/config/config.js.map +1 -1
  4. package/dist/src/core/client.js +2 -2
  5. package/dist/src/core/client.js.map +1 -1
  6. package/dist/src/core/coreToolScheduler.d.ts +2 -1
  7. package/dist/src/core/coreToolScheduler.js +19 -0
  8. package/dist/src/core/coreToolScheduler.js.map +1 -1
  9. package/dist/src/core/geminiChat.js +28 -13
  10. package/dist/src/core/geminiChat.js.map +1 -1
  11. package/dist/src/core/loggingContentGenerator.d.ts +1 -5
  12. package/dist/src/core/loggingContentGenerator.js +4 -6
  13. package/dist/src/core/loggingContentGenerator.js.map +1 -1
  14. package/dist/src/core/nonInteractiveToolExecutor.d.ts +2 -2
  15. package/dist/src/core/nonInteractiveToolExecutor.js +13 -9
  16. package/dist/src/core/nonInteractiveToolExecutor.js.map +1 -1
  17. package/dist/src/core/subagent.js +5 -5
  18. package/dist/src/core/subagent.js.map +1 -1
  19. package/dist/src/debug/ConfigurationManager.d.ts +28 -0
  20. package/dist/src/debug/ConfigurationManager.js +211 -0
  21. package/dist/src/debug/ConfigurationManager.js.map +1 -0
  22. package/dist/src/debug/DebugLogger.d.ts +26 -0
  23. package/dist/src/debug/DebugLogger.js +230 -0
  24. package/dist/src/debug/DebugLogger.js.map +1 -0
  25. package/dist/src/debug/FileOutput.d.ts +23 -0
  26. package/dist/src/debug/FileOutput.js +144 -0
  27. package/dist/src/debug/FileOutput.js.map +1 -0
  28. package/dist/src/debug/MockConfigurationManager.d.ts +28 -0
  29. package/dist/src/debug/MockConfigurationManager.js +45 -0
  30. package/dist/src/debug/MockConfigurationManager.js.map +1 -0
  31. package/dist/src/debug/MockFileOutput.d.ts +20 -0
  32. package/dist/src/debug/MockFileOutput.js +25 -0
  33. package/dist/src/debug/MockFileOutput.js.map +1 -0
  34. package/dist/src/debug/index.d.ts +8 -0
  35. package/dist/src/debug/index.js +9 -0
  36. package/dist/src/debug/index.js.map +1 -0
  37. package/dist/src/debug/types.d.ts +23 -0
  38. package/dist/src/debug/types.js +2 -0
  39. package/dist/src/debug/types.js.map +1 -0
  40. package/dist/src/ide/ide-client.d.ts +4 -0
  41. package/dist/src/ide/ide-client.js +41 -2
  42. package/dist/src/ide/ide-client.js.map +1 -1
  43. package/dist/src/ide/ide-installer.js +17 -4
  44. package/dist/src/ide/ide-installer.js.map +1 -1
  45. package/dist/src/ide/process-utils.d.ts +10 -5
  46. package/dist/src/ide/process-utils.js +113 -30
  47. package/dist/src/ide/process-utils.js.map +1 -1
  48. package/dist/src/index.d.ts +5 -0
  49. package/dist/src/index.js +4 -0
  50. package/dist/src/index.js.map +1 -1
  51. package/dist/src/prompt-config/defaults/core.md +34 -230
  52. package/dist/src/prompt-config/defaults/tools/read-file.md +1 -1
  53. package/dist/src/providers/BaseProvider.js +13 -2
  54. package/dist/src/providers/BaseProvider.js.map +1 -1
  55. package/dist/src/providers/anthropic/AnthropicProvider.d.ts +1 -0
  56. package/dist/src/providers/anthropic/AnthropicProvider.js +20 -31
  57. package/dist/src/providers/anthropic/AnthropicProvider.js.map +1 -1
  58. package/dist/src/providers/gemini/GeminiProvider.d.ts +1 -0
  59. package/dist/src/providers/gemini/GeminiProvider.js +23 -50
  60. package/dist/src/providers/gemini/GeminiProvider.js.map +1 -1
  61. package/dist/src/providers/openai/OpenAIProvider.d.ts +9 -0
  62. package/dist/src/providers/openai/OpenAIProvider.js +502 -129
  63. package/dist/src/providers/openai/OpenAIProvider.js.map +1 -1
  64. package/dist/src/providers/openai/buildResponsesRequest.js +9 -6
  65. package/dist/src/providers/openai/buildResponsesRequest.js.map +1 -1
  66. package/dist/src/providers/openai/getOpenAIProviderInfo.js +8 -3
  67. package/dist/src/providers/openai/getOpenAIProviderInfo.js.map +1 -1
  68. package/dist/src/providers/openai/parseResponsesStream.js +13 -4
  69. package/dist/src/providers/openai/parseResponsesStream.js.map +1 -1
  70. package/dist/src/providers/openai/syntheticToolResponses.d.ts +0 -9
  71. package/dist/src/providers/openai/syntheticToolResponses.js +87 -16
  72. package/dist/src/providers/openai/syntheticToolResponses.js.map +1 -1
  73. package/dist/src/services/fileSystemService.d.ts +31 -0
  74. package/dist/src/services/fileSystemService.js +18 -0
  75. package/dist/src/services/fileSystemService.js.map +1 -0
  76. package/dist/src/services/loopDetectionService.d.ts +5 -0
  77. package/dist/src/services/loopDetectionService.js +89 -1
  78. package/dist/src/services/loopDetectionService.js.map +1 -1
  79. package/dist/src/services/shellExecutionService.d.ts +8 -6
  80. package/dist/src/services/shellExecutionService.js +297 -133
  81. package/dist/src/services/shellExecutionService.js.map +1 -1
  82. package/dist/src/telemetry/loggers.js +1 -1
  83. package/dist/src/telemetry/loggers.js.map +1 -1
  84. package/dist/src/telemetry/metrics.d.ts +1 -1
  85. package/dist/src/telemetry/metrics.js +2 -1
  86. package/dist/src/telemetry/metrics.js.map +1 -1
  87. package/dist/src/telemetry/sdk.js +3 -3
  88. package/dist/src/telemetry/sdk.js.map +1 -1
  89. package/dist/src/telemetry/types.d.ts +1 -0
  90. package/dist/src/telemetry/types.js +20 -0
  91. package/dist/src/telemetry/types.js.map +1 -1
  92. package/dist/src/telemetry/uiTelemetry.d.ts +4 -0
  93. package/dist/src/telemetry/uiTelemetry.js +16 -1
  94. package/dist/src/telemetry/uiTelemetry.js.map +1 -1
  95. package/dist/src/test-utils/tools.d.ts +8 -2
  96. package/dist/src/test-utils/tools.js +2 -3
  97. package/dist/src/test-utils/tools.js.map +1 -1
  98. package/dist/src/tools/ToolFormatter.d.ts +1 -0
  99. package/dist/src/tools/ToolFormatter.js +90 -9
  100. package/dist/src/tools/ToolFormatter.js.map +1 -1
  101. package/dist/src/tools/edit.d.ts +1 -1
  102. package/dist/src/tools/edit.js +15 -9
  103. package/dist/src/tools/edit.js.map +1 -1
  104. package/dist/src/tools/glob.d.ts +1 -1
  105. package/dist/src/tools/glob.js +8 -8
  106. package/dist/src/tools/glob.js.map +1 -1
  107. package/dist/src/tools/grep.d.ts +1 -1
  108. package/dist/src/tools/grep.js +1 -6
  109. package/dist/src/tools/grep.js.map +1 -1
  110. package/dist/src/tools/ls.d.ts +1 -1
  111. package/dist/src/tools/ls.js +1 -6
  112. package/dist/src/tools/ls.js.map +1 -1
  113. package/dist/src/tools/mcp-client-manager.d.ts +38 -0
  114. package/dist/src/tools/mcp-client-manager.js +74 -0
  115. package/dist/src/tools/mcp-client-manager.js.map +1 -0
  116. package/dist/src/tools/mcp-client.d.ts +43 -0
  117. package/dist/src/tools/mcp-client.js +117 -1
  118. package/dist/src/tools/mcp-client.js.map +1 -1
  119. package/dist/src/tools/memoryTool.d.ts +1 -1
  120. package/dist/src/tools/memoryTool.js +1 -6
  121. package/dist/src/tools/memoryTool.js.map +1 -1
  122. package/dist/src/tools/read-file.d.ts +1 -1
  123. package/dist/src/tools/read-file.js +5 -7
  124. package/dist/src/tools/read-file.js.map +1 -1
  125. package/dist/src/tools/read-many-files.d.ts +0 -1
  126. package/dist/src/tools/read-many-files.js +16 -11
  127. package/dist/src/tools/read-many-files.js.map +1 -1
  128. package/dist/src/tools/shell.d.ts +1 -1
  129. package/dist/src/tools/shell.js +32 -28
  130. package/dist/src/tools/shell.js.map +1 -1
  131. package/dist/src/tools/tool-registry.d.ts +5 -0
  132. package/dist/src/tools/tool-registry.js +13 -4
  133. package/dist/src/tools/tool-registry.js.map +1 -1
  134. package/dist/src/tools/tools.d.ts +3 -1
  135. package/dist/src/tools/tools.js +12 -0
  136. package/dist/src/tools/tools.js.map +1 -1
  137. package/dist/src/tools/web-fetch.d.ts +1 -1
  138. package/dist/src/tools/web-fetch.js +1 -6
  139. package/dist/src/tools/web-fetch.js.map +1 -1
  140. package/dist/src/tools/web-search.d.ts +6 -1
  141. package/dist/src/tools/web-search.js +6 -6
  142. package/dist/src/tools/web-search.js.map +1 -1
  143. package/dist/src/tools/write-file.d.ts +1 -1
  144. package/dist/src/tools/write-file.js +7 -8
  145. package/dist/src/tools/write-file.js.map +1 -1
  146. package/dist/src/utils/environmentContext.js +2 -2
  147. package/dist/src/utils/environmentContext.js.map +1 -1
  148. package/dist/src/utils/errorReporting.js +1 -1
  149. package/dist/src/utils/fileUtils.d.ts +2 -1
  150. package/dist/src/utils/fileUtils.js +3 -3
  151. package/dist/src/utils/fileUtils.js.map +1 -1
  152. package/dist/src/utils/getPty.d.ts +19 -0
  153. package/dist/src/utils/getPty.js +23 -0
  154. package/dist/src/utils/getPty.js.map +1 -0
  155. package/dist/src/utils/user_account.js +58 -53
  156. package/dist/src/utils/user_account.js.map +1 -1
  157. package/package.json +22 -7
@@ -0,0 +1,31 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ /**
7
+ * Interface for file system operations that may be delegated to different implementations
8
+ */
9
+ export interface FileSystemService {
10
+ /**
11
+ * Read text content from a file
12
+ *
13
+ * @param filePath - The path to the file to read
14
+ * @returns The file content as a string
15
+ */
16
+ readTextFile(filePath: string): Promise<string>;
17
+ /**
18
+ * Write text content to a file
19
+ *
20
+ * @param filePath - The path to the file to write
21
+ * @param content - The content to write
22
+ */
23
+ writeTextFile(filePath: string, content: string): Promise<void>;
24
+ }
25
+ /**
26
+ * Standard file system implementation
27
+ */
28
+ export declare class StandardFileSystemService implements FileSystemService {
29
+ readTextFile(filePath: string): Promise<string>;
30
+ writeTextFile(filePath: string, content: string): Promise<void>;
31
+ }
@@ -0,0 +1,18 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import fs from 'fs/promises';
7
+ /**
8
+ * Standard file system implementation
9
+ */
10
+ export class StandardFileSystemService {
11
+ async readTextFile(filePath) {
12
+ return fs.readFile(filePath, 'utf-8');
13
+ }
14
+ async writeTextFile(filePath, content) {
15
+ await fs.writeFile(filePath, content, 'utf-8');
16
+ }
17
+ }
18
+ //# sourceMappingURL=fileSystemService.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fileSystemService.js","sourceRoot":"","sources":["../../../src/services/fileSystemService.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,MAAM,aAAa,CAAC;AAuB7B;;GAEG;AACH,MAAM,OAAO,yBAAyB;IACpC,KAAK,CAAC,YAAY,CAAC,QAAgB;QACjC,OAAO,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IACxC,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,QAAgB,EAAE,OAAe;QACnD,MAAM,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IACjD,CAAC;CACF"}
@@ -95,6 +95,11 @@ export declare class LoopDetectionService {
95
95
  * This prevents false positives from hash collisions.
96
96
  */
97
97
  private isActualContentMatch;
98
+ /**
99
+ * Sanitizes conversation history before sending to loop detection LLM.
100
+ * Removes or fixes invalid tool calls and responses that could cause API errors.
101
+ */
102
+ private sanitizeHistoryForLoopDetection;
98
103
  private checkForLoopWithLLM;
99
104
  /**
100
105
  * Resets all loop detection state.
@@ -290,12 +290,100 @@ Please analyze the conversation history to determine the possibility that the co
290
290
  const originalChunk = this.streamContentHistory.substring(originalIndex, originalIndex + CONTENT_CHUNK_SIZE);
291
291
  return originalChunk === currentChunk;
292
292
  }
293
+ /**
294
+ * Sanitizes conversation history before sending to loop detection LLM.
295
+ * Removes or fixes invalid tool calls and responses that could cause API errors.
296
+ */
297
+ sanitizeHistoryForLoopDetection(history) {
298
+ return history
299
+ .map((message) => {
300
+ // Type guard to check if message has expected structure
301
+ if (!message || typeof message !== 'object') {
302
+ return message;
303
+ }
304
+ const msg = message;
305
+ // Check if this is a message with parts
306
+ if (!msg.role || !Array.isArray(msg.parts)) {
307
+ return message;
308
+ }
309
+ // Create a sanitized copy of the message
310
+ const sanitizedParts = [];
311
+ for (const part of msg.parts) {
312
+ if (!part || typeof part !== 'object') {
313
+ sanitizedParts.push(part);
314
+ continue;
315
+ }
316
+ const p = part;
317
+ // Handle functionCall parts
318
+ if (p.functionCall && typeof p.functionCall === 'object') {
319
+ const fc = p.functionCall;
320
+ // If the function call has validation errors or malformed args,
321
+ // replace with a simplified version
322
+ if (fc.name === 'todo_write' && fc.args) {
323
+ const args = fc.args;
324
+ // Check if todos is a string that should be an array
325
+ if (typeof args.todos === 'string') {
326
+ try {
327
+ // Try to parse the stringified JSON
328
+ const parsed = JSON.parse(args.todos);
329
+ // Return a fixed version
330
+ sanitizedParts.push({
331
+ functionCall: {
332
+ name: fc.name,
333
+ args: { todos: parsed },
334
+ id: fc.id || 'sanitized',
335
+ },
336
+ });
337
+ }
338
+ catch {
339
+ // If parsing fails, replace with placeholder
340
+ sanitizedParts.push({
341
+ text: '[Invalid tool call removed for loop detection]',
342
+ });
343
+ }
344
+ continue;
345
+ }
346
+ }
347
+ }
348
+ // Handle functionResponse parts with errors
349
+ if (p.functionResponse && typeof p.functionResponse === 'object') {
350
+ const fr = p.functionResponse;
351
+ // If there's an error in the response, simplify it
352
+ if (fr.response && typeof fr.response === 'object') {
353
+ const resp = fr.response;
354
+ if (resp.error) {
355
+ sanitizedParts.push({
356
+ functionResponse: {
357
+ id: fr.id || 'sanitized',
358
+ name: fr.name || 'unknown',
359
+ response: {
360
+ error: 'Tool validation failed',
361
+ },
362
+ },
363
+ });
364
+ continue;
365
+ }
366
+ }
367
+ }
368
+ // Return the part as-is if no issues detected
369
+ sanitizedParts.push(part);
370
+ }
371
+ const sanitizedMessage = {
372
+ role: msg.role,
373
+ parts: sanitizedParts,
374
+ };
375
+ return sanitizedMessage;
376
+ })
377
+ .filter(Boolean); // Remove any null/undefined messages
378
+ }
293
379
  async checkForLoopWithLLM(signal) {
294
380
  const fullHistory = await this.config.getGeminiClient().getHistory();
295
381
  const recentHistory = fullHistory.slice(-LLM_LOOP_CHECK_HISTORY_COUNT);
382
+ // Sanitize the history to remove invalid tool responses that can cause 400 errors
383
+ const sanitizedHistory = this.sanitizeHistoryForLoopDetection(recentHistory);
296
384
  const prompt = await this.getLoopDetectionPrompt();
297
385
  const contents = [
298
- ...recentHistory,
386
+ ...sanitizedHistory,
299
387
  { role: 'user', parts: [{ text: prompt }] },
300
388
  ];
301
389
  const schema = {
@@ -1 +1 @@
1
- {"version":3,"file":"loopDetectionService.js","sourceRoot":"","sources":["../../../src/services/loopDetectionService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"loopDetectionService.js","sourceRoot":"","sources":["../../../src/services/loopDetectionService.ts"],"names":[],"mappings":"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"}
@@ -6,7 +6,7 @@
6
6
  /** A structured result from a shell command execution. */
7
7
  export interface ShellExecutionResult {
8
8
  rawOutput: Buffer;
9
- /** The combined, decoded stdout and stderr as a string. */
9
+ /** The combined, decoded output as a string. */
10
10
  output: string;
11
11
  /** The decoded stdout as a string. */
12
12
  stdout: string;
@@ -15,11 +15,13 @@ export interface ShellExecutionResult {
15
15
  /** The process exit code, or null if terminated by a signal. */
16
16
  exitCode: number | null;
17
17
  /** The signal that terminated the process, if any. */
18
- signal: NodeJS.Signals | null;
18
+ signal: number | null;
19
19
  /** An error object if the process failed to spawn. */
20
20
  error: Error | null;
21
21
  aborted: boolean;
22
22
  pid: number | undefined;
23
+ /** The method used to execute the shell command. */
24
+ executionMethod: 'lydell-node-pty' | 'node-pty' | 'child_process' | 'none';
23
25
  }
24
26
  export interface ShellExecutionHandle {
25
27
  pid: number | undefined;
@@ -28,8 +30,6 @@ export interface ShellExecutionHandle {
28
30
  export type ShellOutputEvent = {
29
31
  /** The event contains a chunk of output data. */
30
32
  type: 'data';
31
- /** The stream from which the data originated. */
32
- stream: 'stdout' | 'stderr';
33
33
  /** The decoded string chunk. */
34
34
  chunk: string;
35
35
  } | {
@@ -43,7 +43,7 @@ export type ShellOutputEvent = {
43
43
  };
44
44
  export declare class ShellExecutionService {
45
45
  /**
46
- * Executes a shell command using `spawn`, capturing all output and lifecycle events.
46
+ * Executes a shell command using `node-pty`, capturing all output and lifecycle events.
47
47
  *
48
48
  * @param commandToExecute The exact command string to run.
49
49
  * @param cwd The working directory to execute the command in.
@@ -54,5 +54,7 @@ export declare class ShellExecutionService {
54
54
  * @returns An object containing the process ID (pid) and a promise that
55
55
  * resolves with the complete execution result.
56
56
  */
57
- static execute(commandToExecute: string, cwd: string, onOutputEvent: (event: ShellOutputEvent) => void, abortSignal: AbortSignal): ShellExecutionHandle;
57
+ static execute(commandToExecute: string, cwd: string, onOutputEvent: (event: ShellOutputEvent) => void, abortSignal: AbortSignal, shouldUseNodePty: boolean, terminalColumns?: number, terminalRows?: number): Promise<ShellExecutionHandle>;
58
+ private static childProcessFallback;
59
+ private static executeWithPty;
58
60
  }