@vybestack/llxprt-code-core 0.1.22 → 0.1.23-nightly.250824.52dcfe37

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 (168) hide show
  1. package/README.md +19 -0
  2. package/dist/src/code_assist/oauth2.js +60 -31
  3. package/dist/src/code_assist/oauth2.js.map +1 -1
  4. package/dist/src/config/config.d.ts +14 -1
  5. package/dist/src/config/config.js +23 -3
  6. package/dist/src/config/config.js.map +1 -1
  7. package/dist/src/core/client.js +2 -2
  8. package/dist/src/core/client.js.map +1 -1
  9. package/dist/src/core/coreToolScheduler.d.ts +2 -1
  10. package/dist/src/core/coreToolScheduler.js +19 -0
  11. package/dist/src/core/coreToolScheduler.js.map +1 -1
  12. package/dist/src/core/geminiChat.js +28 -13
  13. package/dist/src/core/geminiChat.js.map +1 -1
  14. package/dist/src/core/loggingContentGenerator.d.ts +1 -5
  15. package/dist/src/core/loggingContentGenerator.js +4 -6
  16. package/dist/src/core/loggingContentGenerator.js.map +1 -1
  17. package/dist/src/core/nonInteractiveToolExecutor.d.ts +2 -2
  18. package/dist/src/core/nonInteractiveToolExecutor.js +13 -9
  19. package/dist/src/core/nonInteractiveToolExecutor.js.map +1 -1
  20. package/dist/src/core/subagent.js +5 -5
  21. package/dist/src/core/subagent.js.map +1 -1
  22. package/dist/src/debug/ConfigurationManager.d.ts +28 -0
  23. package/dist/src/debug/ConfigurationManager.js +211 -0
  24. package/dist/src/debug/ConfigurationManager.js.map +1 -0
  25. package/dist/src/debug/DebugLogger.d.ts +26 -0
  26. package/dist/src/debug/DebugLogger.js +230 -0
  27. package/dist/src/debug/DebugLogger.js.map +1 -0
  28. package/dist/src/debug/FileOutput.d.ts +23 -0
  29. package/dist/src/debug/FileOutput.js +144 -0
  30. package/dist/src/debug/FileOutput.js.map +1 -0
  31. package/dist/src/debug/MockConfigurationManager.d.ts +28 -0
  32. package/dist/src/debug/MockConfigurationManager.js +45 -0
  33. package/dist/src/debug/MockConfigurationManager.js.map +1 -0
  34. package/dist/src/debug/MockFileOutput.d.ts +20 -0
  35. package/dist/src/debug/MockFileOutput.js +25 -0
  36. package/dist/src/debug/MockFileOutput.js.map +1 -0
  37. package/dist/src/debug/index.d.ts +8 -0
  38. package/dist/src/debug/index.js +9 -0
  39. package/dist/src/debug/index.js.map +1 -0
  40. package/dist/src/debug/types.d.ts +23 -0
  41. package/dist/src/debug/types.js +2 -0
  42. package/dist/src/debug/types.js.map +1 -0
  43. package/dist/src/ide/ide-client.d.ts +4 -0
  44. package/dist/src/ide/ide-client.js +41 -2
  45. package/dist/src/ide/ide-client.js.map +1 -1
  46. package/dist/src/ide/ide-installer.js +17 -4
  47. package/dist/src/ide/ide-installer.js.map +1 -1
  48. package/dist/src/ide/process-utils.d.ts +10 -5
  49. package/dist/src/ide/process-utils.js +113 -30
  50. package/dist/src/ide/process-utils.js.map +1 -1
  51. package/dist/src/index.d.ts +5 -0
  52. package/dist/src/index.js +4 -0
  53. package/dist/src/index.js.map +1 -1
  54. package/dist/src/prompt-config/defaults/core.md +34 -230
  55. package/dist/src/prompt-config/defaults/tools/read-file.md +1 -1
  56. package/dist/src/providers/BaseProvider.js +13 -2
  57. package/dist/src/providers/BaseProvider.js.map +1 -1
  58. package/dist/src/providers/anthropic/AnthropicProvider.d.ts +1 -0
  59. package/dist/src/providers/anthropic/AnthropicProvider.js +20 -31
  60. package/dist/src/providers/anthropic/AnthropicProvider.js.map +1 -1
  61. package/dist/src/providers/gemini/GeminiProvider.d.ts +6 -0
  62. package/dist/src/providers/gemini/GeminiProvider.js +31 -50
  63. package/dist/src/providers/gemini/GeminiProvider.js.map +1 -1
  64. package/dist/src/providers/openai/OpenAIProvider.d.ts +1 -0
  65. package/dist/src/providers/openai/OpenAIProvider.js +513 -131
  66. package/dist/src/providers/openai/OpenAIProvider.js.map +1 -1
  67. package/dist/src/providers/openai/buildResponsesRequest.js +9 -6
  68. package/dist/src/providers/openai/buildResponsesRequest.js.map +1 -1
  69. package/dist/src/providers/openai/getOpenAIProviderInfo.js +8 -3
  70. package/dist/src/providers/openai/getOpenAIProviderInfo.js.map +1 -1
  71. package/dist/src/providers/openai/parseResponsesStream.js +13 -4
  72. package/dist/src/providers/openai/parseResponsesStream.js.map +1 -1
  73. package/dist/src/providers/openai/syntheticToolResponses.d.ts +0 -9
  74. package/dist/src/providers/openai/syntheticToolResponses.js +87 -16
  75. package/dist/src/providers/openai/syntheticToolResponses.js.map +1 -1
  76. package/dist/src/services/ClipboardService.d.ts +19 -0
  77. package/dist/src/services/ClipboardService.js +66 -0
  78. package/dist/src/services/ClipboardService.js.map +1 -0
  79. package/dist/src/services/fileSystemService.d.ts +31 -0
  80. package/dist/src/services/fileSystemService.js +18 -0
  81. package/dist/src/services/fileSystemService.js.map +1 -0
  82. package/dist/src/services/index.d.ts +1 -0
  83. package/dist/src/services/index.js +1 -0
  84. package/dist/src/services/index.js.map +1 -1
  85. package/dist/src/services/loopDetectionService.d.ts +5 -0
  86. package/dist/src/services/loopDetectionService.js +89 -1
  87. package/dist/src/services/loopDetectionService.js.map +1 -1
  88. package/dist/src/services/shellExecutionService.d.ts +8 -6
  89. package/dist/src/services/shellExecutionService.js +297 -133
  90. package/dist/src/services/shellExecutionService.js.map +1 -1
  91. package/dist/src/telemetry/loggers.js +1 -1
  92. package/dist/src/telemetry/loggers.js.map +1 -1
  93. package/dist/src/telemetry/metrics.d.ts +1 -1
  94. package/dist/src/telemetry/metrics.js +2 -1
  95. package/dist/src/telemetry/metrics.js.map +1 -1
  96. package/dist/src/telemetry/sdk.js +3 -3
  97. package/dist/src/telemetry/sdk.js.map +1 -1
  98. package/dist/src/telemetry/types.d.ts +1 -0
  99. package/dist/src/telemetry/types.js +20 -0
  100. package/dist/src/telemetry/types.js.map +1 -1
  101. package/dist/src/telemetry/uiTelemetry.d.ts +4 -0
  102. package/dist/src/telemetry/uiTelemetry.js +16 -1
  103. package/dist/src/telemetry/uiTelemetry.js.map +1 -1
  104. package/dist/src/test-utils/tools.d.ts +8 -2
  105. package/dist/src/test-utils/tools.js +2 -3
  106. package/dist/src/test-utils/tools.js.map +1 -1
  107. package/dist/src/tools/ToolFormatter.d.ts +1 -0
  108. package/dist/src/tools/ToolFormatter.js +90 -9
  109. package/dist/src/tools/ToolFormatter.js.map +1 -1
  110. package/dist/src/tools/edit.d.ts +1 -1
  111. package/dist/src/tools/edit.js +15 -9
  112. package/dist/src/tools/edit.js.map +1 -1
  113. package/dist/src/tools/glob.d.ts +1 -1
  114. package/dist/src/tools/glob.js +8 -8
  115. package/dist/src/tools/glob.js.map +1 -1
  116. package/dist/src/tools/grep.d.ts +1 -1
  117. package/dist/src/tools/grep.js +1 -6
  118. package/dist/src/tools/grep.js.map +1 -1
  119. package/dist/src/tools/ls.d.ts +1 -1
  120. package/dist/src/tools/ls.js +1 -6
  121. package/dist/src/tools/ls.js.map +1 -1
  122. package/dist/src/tools/mcp-client-manager.d.ts +38 -0
  123. package/dist/src/tools/mcp-client-manager.js +74 -0
  124. package/dist/src/tools/mcp-client-manager.js.map +1 -0
  125. package/dist/src/tools/mcp-client.d.ts +43 -0
  126. package/dist/src/tools/mcp-client.js +117 -1
  127. package/dist/src/tools/mcp-client.js.map +1 -1
  128. package/dist/src/tools/memoryTool.d.ts +1 -1
  129. package/dist/src/tools/memoryTool.js +1 -6
  130. package/dist/src/tools/memoryTool.js.map +1 -1
  131. package/dist/src/tools/read-file.d.ts +7 -2
  132. package/dist/src/tools/read-file.js +22 -13
  133. package/dist/src/tools/read-file.js.map +1 -1
  134. package/dist/src/tools/read-many-files.d.ts +0 -1
  135. package/dist/src/tools/read-many-files.js +16 -11
  136. package/dist/src/tools/read-many-files.js.map +1 -1
  137. package/dist/src/tools/shell.d.ts +1 -1
  138. package/dist/src/tools/shell.js +32 -28
  139. package/dist/src/tools/shell.js.map +1 -1
  140. package/dist/src/tools/tool-registry.d.ts +5 -0
  141. package/dist/src/tools/tool-registry.js +13 -4
  142. package/dist/src/tools/tool-registry.js.map +1 -1
  143. package/dist/src/tools/tools.d.ts +3 -1
  144. package/dist/src/tools/tools.js +25 -0
  145. package/dist/src/tools/tools.js.map +1 -1
  146. package/dist/src/tools/web-fetch.d.ts +1 -1
  147. package/dist/src/tools/web-fetch.js +1 -6
  148. package/dist/src/tools/web-fetch.js.map +1 -1
  149. package/dist/src/tools/web-search.d.ts +6 -1
  150. package/dist/src/tools/web-search.js +6 -6
  151. package/dist/src/tools/web-search.js.map +1 -1
  152. package/dist/src/tools/write-file.d.ts +7 -2
  153. package/dist/src/tools/write-file.js +49 -31
  154. package/dist/src/tools/write-file.js.map +1 -1
  155. package/dist/src/utils/environmentContext.js +2 -2
  156. package/dist/src/utils/environmentContext.js.map +1 -1
  157. package/dist/src/utils/errorReporting.js +1 -1
  158. package/dist/src/utils/fileUtils.d.ts +2 -1
  159. package/dist/src/utils/fileUtils.js +3 -3
  160. package/dist/src/utils/fileUtils.js.map +1 -1
  161. package/dist/src/utils/getPty.d.ts +19 -0
  162. package/dist/src/utils/getPty.js +23 -0
  163. package/dist/src/utils/getPty.js.map +1 -0
  164. package/dist/src/utils/schemaValidator.js +16 -1
  165. package/dist/src/utils/schemaValidator.js.map +1 -1
  166. package/dist/src/utils/user_account.js +58 -53
  167. package/dist/src/utils/user_account.js.map +1 -1
  168. package/package.json +22 -7
@@ -0,0 +1,144 @@
1
+ /**
2
+ * @plan PLAN-20250120-DEBUGLOGGING.P10
3
+ * @requirement REQ-005
4
+ */
5
+ import { promises as fs } from 'fs';
6
+ import { join } from 'path';
7
+ import { homedir } from 'os';
8
+ import { LLXPRT_DIR } from '../utils/paths.js';
9
+ export class FileOutput {
10
+ static instance;
11
+ debugDir;
12
+ currentLogFile;
13
+ writeQueue = [];
14
+ isWriting = false;
15
+ disposed = false;
16
+ flushTimeout = null;
17
+ maxFileSize = 10 * 1024 * 1024; // 10MB
18
+ maxQueueSize = 1000;
19
+ batchSize = 50;
20
+ flushInterval = 1000; // 1 second
21
+ constructor() {
22
+ const home = homedir();
23
+ // Handle test environments where homedir might not be available
24
+ this.debugDir = home
25
+ ? join(home, LLXPRT_DIR, 'debug')
26
+ : join(process.cwd(), LLXPRT_DIR, 'debug');
27
+ this.currentLogFile = this.generateLogFileName();
28
+ this.startFlushTimer();
29
+ }
30
+ static getInstance() {
31
+ if (!FileOutput.instance) {
32
+ FileOutput.instance = new FileOutput();
33
+ }
34
+ return FileOutput.instance;
35
+ }
36
+ async write(entry) {
37
+ if (this.disposed) {
38
+ return;
39
+ }
40
+ // Add to queue
41
+ this.writeQueue.push({
42
+ entry,
43
+ timestamp: Date.now(),
44
+ });
45
+ // Prevent queue from growing too large
46
+ if (this.writeQueue.length > this.maxQueueSize) {
47
+ this.writeQueue = this.writeQueue.slice(-this.maxQueueSize);
48
+ }
49
+ // Flush immediately if queue is large or not currently writing
50
+ if (this.writeQueue.length >= this.batchSize || !this.isWriting) {
51
+ await this.flushQueue();
52
+ }
53
+ }
54
+ async dispose() {
55
+ this.disposed = true;
56
+ if (this.flushTimeout) {
57
+ clearTimeout(this.flushTimeout);
58
+ this.flushTimeout = null;
59
+ }
60
+ // Flush any remaining entries
61
+ await this.flushQueue();
62
+ }
63
+ startFlushTimer() {
64
+ if (this.disposed) {
65
+ return;
66
+ }
67
+ this.flushTimeout = setTimeout(async () => {
68
+ await this.flushQueue();
69
+ this.startFlushTimer();
70
+ }, this.flushInterval);
71
+ }
72
+ async flushQueue() {
73
+ if (this.isWriting || this.writeQueue.length === 0 || this.disposed) {
74
+ return;
75
+ }
76
+ this.isWriting = true;
77
+ let entriesToWrite = [];
78
+ try {
79
+ await this.ensureDirectoryExists();
80
+ await this.checkFileRotation();
81
+ // Process entries in batches
82
+ entriesToWrite = this.writeQueue.splice(0, this.batchSize);
83
+ if (entriesToWrite.length === 0) {
84
+ return;
85
+ }
86
+ // Convert to JSONL format
87
+ const jsonlData = entriesToWrite.map(({ entry }) => JSON.stringify(entry)).join('\n') +
88
+ '\n';
89
+ // Write to file with proper permissions
90
+ await fs.appendFile(this.currentLogFile, jsonlData, {
91
+ encoding: 'utf8',
92
+ mode: 0o600,
93
+ });
94
+ }
95
+ catch (error) {
96
+ // Gracefully handle errors - don't crash the application
97
+ console.error('FileOutput: Failed to write log entries:', error);
98
+ // Put entries back in queue for retry (but limit retries)
99
+ if (this.writeQueue.length < this.maxQueueSize / 2) {
100
+ this.writeQueue.unshift(...entriesToWrite);
101
+ }
102
+ }
103
+ finally {
104
+ this.isWriting = false;
105
+ }
106
+ }
107
+ async ensureDirectoryExists() {
108
+ try {
109
+ await fs.access(this.debugDir);
110
+ }
111
+ catch {
112
+ await fs.mkdir(this.debugDir, {
113
+ recursive: true,
114
+ mode: 0o700,
115
+ });
116
+ }
117
+ }
118
+ async checkFileRotation() {
119
+ try {
120
+ const stats = await fs.stat(this.currentLogFile);
121
+ // Rotate by size
122
+ if (stats.size >= this.maxFileSize) {
123
+ this.currentLogFile = this.generateLogFileName();
124
+ return;
125
+ }
126
+ // Rotate by date (daily rotation)
127
+ const fileDate = new Date(stats.birthtime);
128
+ const today = new Date();
129
+ if (fileDate.toDateString() !== today.toDateString()) {
130
+ this.currentLogFile = this.generateLogFileName();
131
+ }
132
+ }
133
+ catch {
134
+ // File doesn't exist yet, that's fine
135
+ }
136
+ }
137
+ generateLogFileName() {
138
+ const now = new Date();
139
+ const dateString = now.toISOString().split('T')[0]; // YYYY-MM-DD
140
+ const timeString = now.toTimeString().split(' ')[0].replace(/:/g, '-'); // HH-MM-SS
141
+ return join(this.debugDir, `llxprt-debug-${dateString}-${timeString}.jsonl`);
142
+ }
143
+ }
144
+ //# sourceMappingURL=FileOutput.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FileOutput.js","sourceRoot":"","sources":["../../../src/debug/FileOutput.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,28 @@
1
+ /**
2
+ * @plan PLAN-20250120-DEBUGLOGGING.P05
3
+ * @requirement REQ-001,REQ-002
4
+ * Mock implementation for DebugLogger testing
5
+ */
6
+ export interface DebugSettings {
7
+ enabled: boolean;
8
+ namespaces: string[];
9
+ level?: string;
10
+ output?: {
11
+ target: string;
12
+ directory?: string;
13
+ };
14
+ redactPatterns?: string[];
15
+ }
16
+ export declare class MockConfigurationManager {
17
+ private static instance;
18
+ private config;
19
+ private listeners;
20
+ static getInstance(): MockConfigurationManager;
21
+ setEphemeralConfig(config: Partial<DebugSettings>): void;
22
+ getEffectiveConfig(): DebugSettings;
23
+ getOutputTarget(): string;
24
+ getRedactPatterns(): string[];
25
+ subscribe(listener: () => void): void;
26
+ unsubscribe(listener: () => void): void;
27
+ private notifyListeners;
28
+ }
@@ -0,0 +1,45 @@
1
+ /**
2
+ * @plan PLAN-20250120-DEBUGLOGGING.P05
3
+ * @requirement REQ-001,REQ-002
4
+ * Mock implementation for DebugLogger testing
5
+ */
6
+ export class MockConfigurationManager {
7
+ static instance;
8
+ config = {
9
+ enabled: true,
10
+ namespaces: ['*'],
11
+ level: 'debug',
12
+ output: { target: 'file stderr', directory: '~/.llxprt/debug' },
13
+ redactPatterns: ['apiKey', 'token', 'password'],
14
+ };
15
+ listeners = new Set();
16
+ static getInstance() {
17
+ if (!MockConfigurationManager.instance) {
18
+ MockConfigurationManager.instance = new MockConfigurationManager();
19
+ }
20
+ return MockConfigurationManager.instance;
21
+ }
22
+ setEphemeralConfig(config) {
23
+ this.config = { ...this.config, ...config };
24
+ this.notifyListeners();
25
+ }
26
+ getEffectiveConfig() {
27
+ return this.config;
28
+ }
29
+ getOutputTarget() {
30
+ return this.config.output?.target || 'file stderr';
31
+ }
32
+ getRedactPatterns() {
33
+ return this.config.redactPatterns || [];
34
+ }
35
+ subscribe(listener) {
36
+ this.listeners.add(listener);
37
+ }
38
+ unsubscribe(listener) {
39
+ this.listeners.delete(listener);
40
+ }
41
+ notifyListeners() {
42
+ this.listeners.forEach((listener) => listener());
43
+ }
44
+ }
45
+ //# sourceMappingURL=MockConfigurationManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MockConfigurationManager.js","sourceRoot":"","sources":["../../../src/debug/MockConfigurationManager.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAaH,MAAM,OAAO,wBAAwB;IAC3B,MAAM,CAAC,QAAQ,CAA2B;IAC1C,MAAM,GAAkB;QAC9B,OAAO,EAAE,IAAI;QACb,UAAU,EAAE,CAAC,GAAG,CAAC;QACjB,KAAK,EAAE,OAAO;QACd,MAAM,EAAE,EAAE,MAAM,EAAE,aAAa,EAAE,SAAS,EAAE,iBAAiB,EAAE;QAC/D,cAAc,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,UAAU,CAAC;KAChD,CAAC;IACM,SAAS,GAAG,IAAI,GAAG,EAAc,CAAC;IAE1C,MAAM,CAAC,WAAW;QAChB,IAAI,CAAC,wBAAwB,CAAC,QAAQ,EAAE,CAAC;YACvC,wBAAwB,CAAC,QAAQ,GAAG,IAAI,wBAAwB,EAAE,CAAC;QACrE,CAAC;QACD,OAAO,wBAAwB,CAAC,QAAQ,CAAC;IAC3C,CAAC;IAED,kBAAkB,CAAC,MAA8B;QAC/C,IAAI,CAAC,MAAM,GAAG,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC;QAC5C,IAAI,CAAC,eAAe,EAAE,CAAC;IACzB,CAAC;IAED,kBAAkB;QAChB,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,eAAe;QACb,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,IAAI,aAAa,CAAC;IACrD,CAAC;IAED,iBAAiB;QACf,OAAO,IAAI,CAAC,MAAM,CAAC,cAAc,IAAI,EAAE,CAAC;IAC1C,CAAC;IAED,SAAS,CAAC,QAAoB;QAC5B,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC/B,CAAC;IAED,WAAW,CAAC,QAAoB;QAC9B,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAClC,CAAC;IAEO,eAAe;QACrB,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC;IACnD,CAAC;CACF"}
@@ -0,0 +1,20 @@
1
+ /**
2
+ * @plan PLAN-20250120-DEBUGLOGGING.P05
3
+ * @requirement REQ-001
4
+ * Mock implementation for DebugLogger testing
5
+ */
6
+ export interface LogEntry {
7
+ timestamp: string;
8
+ namespace: string;
9
+ level: string;
10
+ message: string;
11
+ args?: unknown[];
12
+ }
13
+ export declare class MockFileOutput {
14
+ private static instance;
15
+ private entries;
16
+ static getInstance(): MockFileOutput;
17
+ write(entry: LogEntry): void;
18
+ getEntries(): LogEntry[];
19
+ clear(): void;
20
+ }
@@ -0,0 +1,25 @@
1
+ /**
2
+ * @plan PLAN-20250120-DEBUGLOGGING.P05
3
+ * @requirement REQ-001
4
+ * Mock implementation for DebugLogger testing
5
+ */
6
+ export class MockFileOutput {
7
+ static instance;
8
+ entries = [];
9
+ static getInstance() {
10
+ if (!MockFileOutput.instance) {
11
+ MockFileOutput.instance = new MockFileOutput();
12
+ }
13
+ return MockFileOutput.instance;
14
+ }
15
+ write(entry) {
16
+ this.entries.push(entry);
17
+ }
18
+ getEntries() {
19
+ return [...this.entries];
20
+ }
21
+ clear() {
22
+ this.entries = [];
23
+ }
24
+ }
25
+ //# sourceMappingURL=MockFileOutput.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MockFileOutput.js","sourceRoot":"","sources":["../../../src/debug/MockFileOutput.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAUH,MAAM,OAAO,cAAc;IACjB,MAAM,CAAC,QAAQ,CAAiB;IAChC,OAAO,GAAe,EAAE,CAAC;IAEjC,MAAM,CAAC,WAAW;QAChB,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,CAAC;YAC7B,cAAc,CAAC,QAAQ,GAAG,IAAI,cAAc,EAAE,CAAC;QACjD,CAAC;QACD,OAAO,cAAc,CAAC,QAAQ,CAAC;IACjC,CAAC;IAED,KAAK,CAAC,KAAe;QACnB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC3B,CAAC;IAED,UAAU;QACR,OAAO,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC;IAC3B,CAAC;IAED,KAAK;QACH,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;IACpB,CAAC;CACF"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * @plan PLAN-20250120-DEBUGLOGGING.P03
3
+ * @requirement REQ-001
4
+ */
5
+ export * from './types.js';
6
+ export * from './DebugLogger.js';
7
+ export * from './ConfigurationManager.js';
8
+ export * from './FileOutput.js';
@@ -0,0 +1,9 @@
1
+ /**
2
+ * @plan PLAN-20250120-DEBUGLOGGING.P03
3
+ * @requirement REQ-001
4
+ */
5
+ export * from './types.js';
6
+ export * from './DebugLogger.js';
7
+ export * from './ConfigurationManager.js';
8
+ export * from './FileOutput.js';
9
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/debug/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC;AACjC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,iBAAiB,CAAC"}
@@ -0,0 +1,23 @@
1
+ /**
2
+ * @plan PLAN-20250120-DEBUGLOGGING.P03
3
+ * @requirement REQ-001
4
+ */
5
+ export interface DebugOutputConfig {
6
+ target: string;
7
+ directory?: string;
8
+ }
9
+ export interface DebugSettings {
10
+ enabled: boolean;
11
+ namespaces: string[] | Record<string, unknown>;
12
+ level: string;
13
+ output: DebugOutputConfig | string;
14
+ lazyEvaluation: boolean;
15
+ redactPatterns: string[];
16
+ }
17
+ export interface LogEntry {
18
+ timestamp: string;
19
+ namespace: string;
20
+ level: string;
21
+ message: string;
22
+ args?: unknown[];
23
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/debug/types.ts"],"names":[],"mappings":""}
@@ -24,9 +24,12 @@ export declare class IdeClient {
24
24
  private readonly currentIde;
25
25
  private readonly currentIdeDisplayName;
26
26
  private diffResponses;
27
+ private statusListeners;
27
28
  private constructor();
28
29
  static getInstance(): IdeClient;
29
30
  static resetInstance(): void;
31
+ addStatusChangeListener(listener: (state: IDEConnectionState) => void): void;
32
+ removeStatusChangeListener(listener: (state: IDEConnectionState) => void): void;
30
33
  connect(): Promise<void>;
31
34
  /**
32
35
  * A diff is accepted with any modifications if the user performs one of the
@@ -56,6 +59,7 @@ export declare class IdeClient {
56
59
  };
57
60
  private getPortFromEnv;
58
61
  private getPortFromFile;
62
+ private createProxyAwareFetch;
59
63
  private registerClientHandlers;
60
64
  private establishConnection;
61
65
  }
@@ -12,6 +12,7 @@ import { Client } from '@modelcontextprotocol/sdk/client/index.js';
12
12
  import { StreamableHTTPClientTransport } from '@modelcontextprotocol/sdk/client/streamableHttp.js';
13
13
  import * as os from 'node:os';
14
14
  import * as path from 'node:path';
15
+ import { EnvHttpProxyAgent } from 'undici';
15
16
  const logger = {
16
17
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
17
18
  debug: (...args) => console.debug('[DEBUG] [IDEClient]', ...args),
@@ -47,6 +48,7 @@ export class IdeClient {
47
48
  currentIde;
48
49
  currentIdeDisplayName;
49
50
  diffResponses = new Map();
51
+ statusListeners = new Set();
50
52
  constructor() {
51
53
  this.currentIde = detectIde();
52
54
  if (this.currentIde) {
@@ -62,6 +64,12 @@ export class IdeClient {
62
64
  static resetInstance() {
63
65
  IdeClient.instance = undefined;
64
66
  }
67
+ addStatusChangeListener(listener) {
68
+ this.statusListeners.add(listener);
69
+ }
70
+ removeStatusChangeListener(listener) {
71
+ this.statusListeners.delete(listener);
72
+ }
65
73
  async connect() {
66
74
  if (!this.currentIde || !this.currentIdeDisplayName) {
67
75
  this.setState(IDEConnectionStatus.Disconnected, `IDE integration is not supported in your current environment. To use this feature, run LLxprt Code in one of these supported IDEs: ${Object.values(DetectedIde)
@@ -182,6 +190,9 @@ export class IdeClient {
182
190
  // disconnected, so that the first detail message is preserved.
183
191
  if (!isAlreadyDisconnected) {
184
192
  this.state = { status, details };
193
+ for (const listener of this.statusListeners) {
194
+ listener(this.state);
195
+ }
185
196
  if (details) {
186
197
  if (logToConsole) {
187
198
  logger.error(details);
@@ -243,6 +254,33 @@ export class IdeClient {
243
254
  return undefined;
244
255
  }
245
256
  }
257
+ createProxyAwareFetch() {
258
+ // ignore proxy for 'localhost' by deafult to allow connecting to the ide mcp server
259
+ const existingNoProxy = process.env['NO_PROXY'] || '';
260
+ const agent = new EnvHttpProxyAgent({
261
+ noProxy: [existingNoProxy, 'localhost'].filter(Boolean).join(','),
262
+ });
263
+ const undiciPromise = import('undici');
264
+ return async (url, init) => {
265
+ const { fetch: fetchFn } = await undiciPromise;
266
+ const fetchOptions = {
267
+ ...init,
268
+ dispatcher: agent,
269
+ };
270
+ const options = fetchOptions;
271
+ const response = await fetchFn(url, options);
272
+ // Convert undici headers to standard headers format
273
+ const headers = {};
274
+ response.headers.forEach((value, key) => {
275
+ headers[key] = value;
276
+ });
277
+ return new Response(response.body, {
278
+ status: response.status,
279
+ statusText: response.statusText,
280
+ headers,
281
+ });
282
+ };
283
+ }
246
284
  registerClientHandlers() {
247
285
  if (!this.client) {
248
286
  return;
@@ -287,7 +325,9 @@ export class IdeClient {
287
325
  // TODO(#3487): use the CLI version here.
288
326
  version: '1.0.0',
289
327
  });
290
- transport = new StreamableHTTPClientTransport(new URL(`http://${getIdeServerHost()}:${port}/mcp`));
328
+ transport = new StreamableHTTPClientTransport(new URL(`http://${getIdeServerHost()}:${port}/mcp`), {
329
+ fetch: this.createProxyAwareFetch(),
330
+ });
291
331
  await this.client.connect(transport);
292
332
  this.registerClientHandlers();
293
333
  this.setState(IDEConnectionStatus.Connected);
@@ -302,7 +342,6 @@ export class IdeClient {
302
342
  logger.debug('Failed to close transport:', closeError);
303
343
  }
304
344
  }
305
- logger.error(`Failed to connect: ${_error}`);
306
345
  return false;
307
346
  }
308
347
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ide-client.js","sourceRoot":"","sources":["../../../src/ide/ide-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ide-client.js","sourceRoot":"","sources":["../../../src/ide/ide-client.ts"],"names":[],"mappings":"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"}
@@ -14,10 +14,23 @@ const VSCODE_COMMAND = process.platform === 'win32' ? 'code.cmd' : 'code';
14
14
  async function findVsCodeCommand() {
15
15
  // 1. Check PATH first.
16
16
  try {
17
- child_process.execSync(process.platform === 'win32'
18
- ? `where.exe ${VSCODE_COMMAND}`
19
- : `command -v ${VSCODE_COMMAND}`, { stdio: 'ignore' });
20
- return VSCODE_COMMAND;
17
+ if (process.platform === 'win32') {
18
+ const result = child_process
19
+ .execSync(`where.exe ${VSCODE_COMMAND}`)
20
+ .toString()
21
+ .trim();
22
+ // `where.exe` can return multiple paths. Return the first one.
23
+ const firstPath = result.split(/\r?\n/)[0];
24
+ if (firstPath) {
25
+ return firstPath;
26
+ }
27
+ }
28
+ else {
29
+ child_process.execSync(`command -v ${VSCODE_COMMAND}`, {
30
+ stdio: 'ignore',
31
+ });
32
+ return VSCODE_COMMAND;
33
+ }
21
34
  }
22
35
  catch {
23
36
  // Not in PATH, continue to check common locations.
@@ -1 +1 @@
1
- {"version":3,"file":"ide-installer.js","sourceRoot":"","sources":["../../../src/ide/ide-installer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ide-installer.js","sourceRoot":"","sources":["../../../src/ide/ide-installer.ts"],"names":[],"mappings":"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"}
@@ -4,11 +4,16 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
  /**
7
- * Traverses up the process tree from the current process to find the top-level ancestor process ID.
8
- * This is useful for identifying the main application process that spawned the current script,
9
- * such as the main VS Code window process.
7
+ * Traverses up the process tree to find the process ID of the IDE.
10
8
  *
11
- * @returns A promise that resolves to the numeric PID of the top-level process.
12
- * @throws Will throw an error if the underlying shell commands fail unexpectedly.
9
+ * This function uses different strategies depending on the operating system
10
+ * to identify the main application process (e.g., the main VS Code window
11
+ * process).
12
+ *
13
+ * If the IDE process cannot be reliably identified, it will return the
14
+ * top-level ancestor process ID as a fallback.
15
+ *
16
+ * @returns A promise that resolves to the numeric PID of the IDE process.
17
+ * @throws Will throw an error if the underlying shell commands fail.
13
18
  */
14
19
  export declare function getIdeProcessId(): Promise<number>;