centaurus-cli 2.8.0 → 2.8.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (81) hide show
  1. package/dist/cli-adapter.d.ts +8 -6
  2. package/dist/cli-adapter.d.ts.map +1 -1
  3. package/dist/cli-adapter.js +599 -182
  4. package/dist/cli-adapter.js.map +1 -1
  5. package/dist/config/slash-commands.d.ts.map +1 -1
  6. package/dist/config/slash-commands.js +1 -0
  7. package/dist/config/slash-commands.js.map +1 -1
  8. package/dist/context/context-manager.d.ts +4 -1
  9. package/dist/context/context-manager.d.ts.map +1 -1
  10. package/dist/context/context-manager.js +30 -7
  11. package/dist/context/context-manager.js.map +1 -1
  12. package/dist/context/handlers/wsl-handler.d.ts +10 -0
  13. package/dist/context/handlers/wsl-handler.d.ts.map +1 -1
  14. package/dist/context/handlers/wsl-handler.js +29 -1
  15. package/dist/context/handlers/wsl-handler.js.map +1 -1
  16. package/dist/index.js +30 -0
  17. package/dist/index.js.map +1 -1
  18. package/dist/services/ai-service-client.d.ts +1 -0
  19. package/dist/services/ai-service-client.d.ts.map +1 -1
  20. package/dist/services/ai-service-client.js.map +1 -1
  21. package/dist/tools/command.d.ts.map +1 -1
  22. package/dist/tools/command.js +136 -21
  23. package/dist/tools/command.js.map +1 -1
  24. package/dist/tools/file-ops.d.ts +1 -0
  25. package/dist/tools/file-ops.d.ts.map +1 -1
  26. package/dist/tools/file-ops.js +131 -0
  27. package/dist/tools/file-ops.js.map +1 -1
  28. package/dist/tools/inspect-symbol.js +27 -27
  29. package/dist/tools/inspect-symbol.js.map +1 -1
  30. package/dist/tools/plan-mode.d.ts +55 -19
  31. package/dist/tools/plan-mode.d.ts.map +1 -1
  32. package/dist/tools/plan-mode.js +204 -123
  33. package/dist/tools/plan-mode.js.map +1 -1
  34. package/dist/tools/types.d.ts +1 -1
  35. package/dist/tools/types.d.ts.map +1 -1
  36. package/dist/types/index.d.ts +11 -1
  37. package/dist/types/index.d.ts.map +1 -1
  38. package/dist/ui/components/App.d.ts +5 -5
  39. package/dist/ui/components/App.d.ts.map +1 -1
  40. package/dist/ui/components/App.js +205 -52
  41. package/dist/ui/components/App.js.map +1 -1
  42. package/dist/ui/components/InputBox.d.ts.map +1 -1
  43. package/dist/ui/components/InputBox.js +24 -5
  44. package/dist/ui/components/InputBox.js.map +1 -1
  45. package/dist/ui/components/MessageDisplay.d.ts.map +1 -1
  46. package/dist/ui/components/MessageDisplay.js +3 -3
  47. package/dist/ui/components/MessageDisplay.js.map +1 -1
  48. package/dist/ui/components/PlanAcceptedMessage.d.ts +12 -0
  49. package/dist/ui/components/PlanAcceptedMessage.d.ts.map +1 -0
  50. package/dist/ui/components/PlanAcceptedMessage.js +22 -0
  51. package/dist/ui/components/PlanAcceptedMessage.js.map +1 -0
  52. package/dist/ui/components/PlanReviewScreen.d.ts +14 -0
  53. package/dist/ui/components/PlanReviewScreen.d.ts.map +1 -0
  54. package/dist/ui/components/PlanReviewScreen.js +52 -0
  55. package/dist/ui/components/PlanReviewScreen.js.map +1 -0
  56. package/dist/ui/components/StreamingMessageDisplay.d.ts.map +1 -1
  57. package/dist/ui/components/StreamingMessageDisplay.js +3 -3
  58. package/dist/ui/components/StreamingMessageDisplay.js.map +1 -1
  59. package/dist/ui/components/TaskCompletedMessage.d.ts +14 -0
  60. package/dist/ui/components/TaskCompletedMessage.d.ts.map +1 -0
  61. package/dist/ui/components/TaskCompletedMessage.js +25 -0
  62. package/dist/ui/components/TaskCompletedMessage.js.map +1 -0
  63. package/dist/ui/components/ToolExecutionMessage.d.ts.map +1 -1
  64. package/dist/ui/components/ToolExecutionMessage.js +174 -17
  65. package/dist/ui/components/ToolExecutionMessage.js.map +1 -1
  66. package/dist/utils/conversation-logger.d.ts +127 -0
  67. package/dist/utils/conversation-logger.d.ts.map +1 -0
  68. package/dist/utils/conversation-logger.js +283 -0
  69. package/dist/utils/conversation-logger.js.map +1 -0
  70. package/dist/utils/editor-utils.d.ts +37 -0
  71. package/dist/utils/editor-utils.d.ts.map +1 -1
  72. package/dist/utils/editor-utils.js +212 -1
  73. package/dist/utils/editor-utils.js.map +1 -1
  74. package/dist/utils/input-classifier.d.ts.map +1 -1
  75. package/dist/utils/input-classifier.js +10 -3
  76. package/dist/utils/input-classifier.js.map +1 -1
  77. package/dist/utils/markdown-parser.d.ts.map +1 -1
  78. package/dist/utils/markdown-parser.js +4 -2
  79. package/dist/utils/markdown-parser.js.map +1 -1
  80. package/package.json +1 -1
  81. package/prompts/system-prompt-autonomous.md +0 -377
@@ -0,0 +1,283 @@
1
+ /**
2
+ * Conversation Logger
3
+ *
4
+ * Comprehensive logging utility for AI conversation debugging.
5
+ * Logs all messages, tool calls, thoughts, and feedback to help
6
+ * debug issues like hallucination, looping, or getting stuck.
7
+ */
8
+ import * as fs from 'fs';
9
+ // Log levels
10
+ export var LogLevel;
11
+ (function (LogLevel) {
12
+ LogLevel["DEBUG"] = "DEBUG";
13
+ LogLevel["INFO"] = "INFO";
14
+ LogLevel["WARN"] = "WARN";
15
+ LogLevel["ERROR"] = "ERROR";
16
+ })(LogLevel || (LogLevel = {}));
17
+ // Log categories for filtering
18
+ export var LogCategory;
19
+ (function (LogCategory) {
20
+ LogCategory["SESSION"] = "SESSION";
21
+ LogCategory["USER_MSG"] = "USER_MSG";
22
+ LogCategory["AI_TEXT"] = "AI_TEXT";
23
+ LogCategory["THOUGHT"] = "THOUGHT";
24
+ LogCategory["TOOL_CALL"] = "TOOL_CALL";
25
+ LogCategory["TOOL_EXEC"] = "TOOL_EXEC";
26
+ LogCategory["TOOL_RESULT"] = "TOOL_RESULT";
27
+ LogCategory["LOOP"] = "LOOP";
28
+ LogCategory["NARRATION"] = "NARRATION";
29
+ LogCategory["ERROR"] = "ERROR";
30
+ LogCategory["SYSTEM"] = "SYSTEM";
31
+ })(LogCategory || (LogCategory = {}));
32
+ /**
33
+ * ConversationLogger class for structured conversation logging
34
+ */
35
+ export class ConversationLogger {
36
+ logFilePath;
37
+ sessionId = '';
38
+ currentTurn = 0;
39
+ accumulatedThought = '';
40
+ accumulatedAIText = '';
41
+ enabled = true;
42
+ constructor(logFilePath = 'cli_frontend_logs.txt') {
43
+ this.logFilePath = logFilePath;
44
+ }
45
+ /**
46
+ * Enable or disable logging
47
+ */
48
+ setEnabled(enabled) {
49
+ this.enabled = enabled;
50
+ }
51
+ /**
52
+ * Start a new conversation session
53
+ */
54
+ startSession() {
55
+ // Generate a short session ID
56
+ this.sessionId = `sess_${Date.now().toString(36)}`;
57
+ this.currentTurn = 0;
58
+ this.accumulatedThought = '';
59
+ this.accumulatedAIText = '';
60
+ this.log(LogLevel.INFO, LogCategory.SESSION, '═══════════════════════════════════════════════════════════════════════════════');
61
+ this.log(LogLevel.INFO, LogCategory.SESSION, `NEW CONVERSATION SESSION STARTED`);
62
+ this.log(LogLevel.INFO, LogCategory.SESSION, '═══════════════════════════════════════════════════════════════════════════════');
63
+ }
64
+ /**
65
+ * Log a user message
66
+ */
67
+ logUserMessage(message) {
68
+ this.log(LogLevel.INFO, LogCategory.USER_MSG, 'User message received', {
69
+ content: message,
70
+ length: message.length,
71
+ });
72
+ }
73
+ /**
74
+ * Log AI text chunk (streaming)
75
+ */
76
+ logAITextChunk(chunk) {
77
+ this.accumulatedAIText += chunk;
78
+ this.log(LogLevel.DEBUG, LogCategory.AI_TEXT, 'AI text chunk received', {
79
+ chunkLength: chunk.length,
80
+ totalLength: this.accumulatedAIText.length,
81
+ chunk: chunk.substring(0, 200) + (chunk.length > 200 ? '...' : ''),
82
+ });
83
+ }
84
+ /**
85
+ * Log completed AI text response
86
+ */
87
+ logAITextComplete() {
88
+ if (this.accumulatedAIText) {
89
+ this.log(LogLevel.INFO, LogCategory.AI_TEXT, 'AI text response complete', {
90
+ totalLength: this.accumulatedAIText.length,
91
+ preview: this.accumulatedAIText.substring(0, 500) + (this.accumulatedAIText.length > 500 ? '...' : ''),
92
+ fullContent: this.accumulatedAIText,
93
+ });
94
+ }
95
+ this.accumulatedAIText = '';
96
+ }
97
+ /**
98
+ * Log thought chunk (streaming)
99
+ */
100
+ logThoughtChunk(thought) {
101
+ this.accumulatedThought += thought;
102
+ this.log(LogLevel.DEBUG, LogCategory.THOUGHT, 'Thought chunk received', {
103
+ chunkLength: thought.length,
104
+ totalLength: this.accumulatedThought.length,
105
+ chunk: thought.substring(0, 200) + (thought.length > 200 ? '...' : ''),
106
+ });
107
+ }
108
+ /**
109
+ * Log thought completion with duration
110
+ */
111
+ logThoughtComplete(durationSeconds) {
112
+ this.log(LogLevel.INFO, LogCategory.THOUGHT, 'Thinking completed', {
113
+ durationSeconds,
114
+ totalLength: this.accumulatedThought.length,
115
+ preview: this.accumulatedThought.substring(0, 500) + (this.accumulatedThought.length > 500 ? '...' : ''),
116
+ fullThought: this.accumulatedThought,
117
+ });
118
+ this.accumulatedThought = '';
119
+ }
120
+ /**
121
+ * Log a tool call being received from AI
122
+ */
123
+ logToolCall(name, id, args) {
124
+ // Sanitize args to avoid logging huge content
125
+ const sanitizedArgs = {};
126
+ for (const [key, value] of Object.entries(args)) {
127
+ if (typeof value === 'string' && value.length > 1000) {
128
+ sanitizedArgs[key] = value.substring(0, 1000) + `... [truncated ${value.length - 1000} chars]`;
129
+ }
130
+ else {
131
+ sanitizedArgs[key] = value;
132
+ }
133
+ }
134
+ this.log(LogLevel.INFO, LogCategory.TOOL_CALL, `Tool call received: ${name}`, {
135
+ toolName: name,
136
+ toolCallId: id,
137
+ arguments: sanitizedArgs,
138
+ });
139
+ }
140
+ /**
141
+ * Log tool execution starting
142
+ */
143
+ logToolExecutionStart(name, id) {
144
+ this.log(LogLevel.INFO, LogCategory.TOOL_EXEC, `Executing tool: ${name}`, {
145
+ toolName: name,
146
+ toolCallId: id,
147
+ });
148
+ }
149
+ /**
150
+ * Log tool execution result
151
+ */
152
+ logToolResult(name, id, result, success, error) {
153
+ // Sanitize result to avoid logging huge content
154
+ let sanitizedResult = result;
155
+ if (typeof result === 'string' && result.length > 2000) {
156
+ sanitizedResult = result.substring(0, 2000) + `... [truncated ${result.length - 2000} chars]`;
157
+ }
158
+ this.log(success ? LogLevel.INFO : LogLevel.WARN, LogCategory.TOOL_RESULT, `Tool ${success ? 'completed' : 'failed'}: ${name}`, {
159
+ toolName: name,
160
+ toolCallId: id,
161
+ success,
162
+ result: sanitizedResult,
163
+ error: error,
164
+ });
165
+ }
166
+ /**
167
+ * Log loop state at turn boundaries
168
+ */
169
+ logLoopState(turn, state) {
170
+ this.currentTurn = turn;
171
+ this.log(LogLevel.INFO, LogCategory.LOOP, `Turn ${turn} state`, state);
172
+ }
173
+ /**
174
+ * Log when narration/completion detection triggers
175
+ */
176
+ logNarrationDetection(type, details) {
177
+ this.log(LogLevel.WARN, LogCategory.NARRATION, `Detection: ${type}`, details);
178
+ }
179
+ /**
180
+ * Log system prompts added to conversation
181
+ */
182
+ logSystemPrompt(promptType, content) {
183
+ this.log(LogLevel.INFO, LogCategory.SYSTEM, `System prompt: ${promptType}`, {
184
+ contentLength: content.length,
185
+ content: content.substring(0, 500) + (content.length > 500 ? '...' : ''),
186
+ });
187
+ }
188
+ /**
189
+ * Log an error
190
+ */
191
+ logError(context, error) {
192
+ const errorMessage = error instanceof Error ? error.message : error;
193
+ const errorStack = error instanceof Error ? error.stack : undefined;
194
+ this.log(LogLevel.ERROR, LogCategory.ERROR, `Error in ${context}`, {
195
+ message: errorMessage,
196
+ stack: errorStack,
197
+ });
198
+ }
199
+ /**
200
+ * Log stream completion
201
+ */
202
+ logStreamEnd(reason) {
203
+ this.log(LogLevel.INFO, LogCategory.LOOP, 'Stream ended', { reason });
204
+ }
205
+ /**
206
+ * Log task completion
207
+ */
208
+ logTaskComplete(summary) {
209
+ this.log(LogLevel.INFO, LogCategory.SESSION, 'Task completed', {
210
+ summaryLength: summary.length,
211
+ summary: summary.substring(0, 500) + (summary.length > 500 ? '...' : ''),
212
+ });
213
+ }
214
+ /**
215
+ * Log session end
216
+ */
217
+ endSession(finalMessage, turnCount) {
218
+ this.log(LogLevel.INFO, LogCategory.SESSION, '═══════════════════════════════════════════════════════════════════════════════');
219
+ this.log(LogLevel.INFO, LogCategory.SESSION, 'CONVERSATION SESSION ENDED', {
220
+ totalTurns: turnCount,
221
+ finalMessageLength: finalMessage.length,
222
+ finalMessagePreview: finalMessage.substring(0, 300) + (finalMessage.length > 300 ? '...' : ''),
223
+ });
224
+ this.log(LogLevel.INFO, LogCategory.SESSION, '═══════════════════════════════════════════════════════════════════════════════');
225
+ this.log(LogLevel.INFO, LogCategory.SESSION, ''); // Empty line for separation
226
+ }
227
+ /**
228
+ * Log messages array state (for debugging conversation history)
229
+ */
230
+ logConversationHistory(messages) {
231
+ this.log(LogLevel.DEBUG, LogCategory.LOOP, 'Current conversation history', {
232
+ messageCount: messages.length,
233
+ messages: messages.map((m, i) => ({
234
+ index: i,
235
+ role: m.role,
236
+ contentLength: m.content.length,
237
+ contentPreview: m.content.substring(0, 100) + (m.content.length > 100 ? '...' : ''),
238
+ hasToolCalls: !!(m.tool_calls && m.tool_calls.length > 0),
239
+ toolCallCount: m.tool_calls?.length || 0,
240
+ })),
241
+ });
242
+ }
243
+ /**
244
+ * Core logging function
245
+ */
246
+ log(level, category, message, details) {
247
+ if (!this.enabled)
248
+ return;
249
+ const timestamp = new Date().toISOString();
250
+ const sessionId = this.sessionId || 'no_session';
251
+ const entry = {
252
+ timestamp,
253
+ sessionId,
254
+ level,
255
+ category,
256
+ message,
257
+ details,
258
+ };
259
+ // Format the log line
260
+ let logLine = `[${timestamp}] [${sessionId}] [${level}] [${category}] ${message}`;
261
+ if (details) {
262
+ try {
263
+ const detailsStr = JSON.stringify(details, null, 2);
264
+ // Indent details for readability
265
+ const indentedDetails = detailsStr.split('\n').map(line => ' ' + line).join('\n');
266
+ logLine += '\n' + indentedDetails;
267
+ }
268
+ catch (e) {
269
+ logLine += '\n [Details could not be serialized]';
270
+ }
271
+ }
272
+ logLine += '\n';
273
+ try {
274
+ fs.appendFileSync(this.logFilePath, logLine);
275
+ }
276
+ catch (e) {
277
+ // Silently fail if we can't write logs
278
+ }
279
+ }
280
+ }
281
+ // Export singleton instance
282
+ export const conversationLogger = new ConversationLogger();
283
+ //# sourceMappingURL=conversation-logger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"conversation-logger.js","sourceRoot":"","sources":["../../src/utils/conversation-logger.ts"],"names":[],"mappings":"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"}
@@ -31,6 +31,27 @@ export declare function runInteractiveEditor(command: string, cwd: string, onExi
31
31
  export declare function runWSLEditor(distribution: string, command: string, cwd: string, onExit: (exitCode: number) => void): {
32
32
  kill: () => void;
33
33
  };
34
+ /**
35
+ * Interactive process interface for WSL PTY commands
36
+ */
37
+ export interface WSLPtyProcess {
38
+ write: (data: string) => void;
39
+ kill: () => void;
40
+ resize: (cols: number, rows: number) => void;
41
+ isRunning: () => boolean;
42
+ }
43
+ /**
44
+ * Run a command in WSL session via node-pty with streaming output.
45
+ * Unlike runWSLEditor, this doesn't take over the terminal - it streams output to a callback.
46
+ * This is essential for sudo commands that need TTY for password prompts.
47
+ */
48
+ export declare function runWSLCommand(distribution: string, command: string, cwd: string, onData: (data: string) => void, onExit: (exitCode: number) => void): WSLPtyProcess;
49
+ /**
50
+ * Run a command in Docker container via node-pty with streaming output.
51
+ * Unlike runDockerEditor, this doesn't take over the terminal - it streams output to a callback.
52
+ * This is essential for sudo commands that need TTY for password prompts.
53
+ */
54
+ export declare function runDockerCommand(containerId: string, command: string, cwd: string, onData: (data: string) => void, onExit: (exitCode: number) => void): WSLPtyProcess;
34
55
  /**
35
56
  * Run an interactive editor in Docker container via node-pty.
36
57
  * Uses docker exec -it to execute the editor command in the container.
@@ -47,4 +68,20 @@ export declare function runSSHEditor(sshClient: any, // ssh2 Client
47
68
  command: string, cwd: string, onExit: (exitCode: number) => void): {
48
69
  kill: () => void;
49
70
  };
71
+ /**
72
+ * SSH PTY process interface for SSH commands with streaming output
73
+ */
74
+ export interface SSHPtyProcess {
75
+ write: (data: string) => void;
76
+ kill: () => void;
77
+ resize: (cols: number, rows: number) => void;
78
+ isRunning: () => boolean;
79
+ }
80
+ /**
81
+ * Run a command in SSH session via ssh2's interactive shell with streaming output.
82
+ * Unlike runSSHEditor, this doesn't take over the terminal - it streams output to a callback.
83
+ * This is essential for sudo commands that need TTY for password prompts.
84
+ */
85
+ export declare function runSSHCommand(sshClient: any, // ssh2 Client
86
+ command: string, cwd: string, onData: (data: string) => void, onExit: (exitCode: number) => void): SSHPtyProcess;
50
87
  //# sourceMappingURL=editor-utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"editor-utils.d.ts","sourceRoot":"","sources":["../../src/utils/editor-utils.ts"],"names":[],"mappings":"AA2BA;;GAEG;AACH,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAwBnE;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAWrD;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CA2BrD;AAwKD;;;;;;;;;;GAUG;AACH,wBAAgB,oBAAoB,CAChC,OAAO,EAAE,MAAM,EACf,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,GACnC;IAAE,IAAI,EAAE,MAAM,IAAI,CAAA;CAAE,CA6GtB;AAED;;;GAGG;AACH,wBAAgB,YAAY,CACxB,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE,MAAM,EACf,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,GACnC;IAAE,IAAI,EAAE,MAAM,IAAI,CAAA;CAAE,CA6BtB;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAC3B,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,EACf,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,GACnC;IAAE,IAAI,EAAE,MAAM,IAAI,CAAA;CAAE,CA8BtB;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CACxB,SAAS,EAAE,GAAG,EAAE,cAAc;AAC9B,OAAO,EAAE,MAAM,EACf,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,GACnC;IAAE,IAAI,EAAE,MAAM,IAAI,CAAA;CAAE,CAwGtB"}
1
+ {"version":3,"file":"editor-utils.d.ts","sourceRoot":"","sources":["../../src/utils/editor-utils.ts"],"names":[],"mappings":"AA0BA;;GAEG;AACH,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAwBnE;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAWrD;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CA2BrD;AAwKD;;;;;;;;;;GAUG;AACH,wBAAgB,oBAAoB,CAChC,OAAO,EAAE,MAAM,EACf,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,GACnC;IAAE,IAAI,EAAE,MAAM,IAAI,CAAA;CAAE,CA6GtB;AAED;;;GAGG;AACH,wBAAgB,YAAY,CACxB,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE,MAAM,EACf,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,GACnC;IAAE,IAAI,EAAE,MAAM,IAAI,CAAA;CAAE,CA6BtB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC1B,KAAK,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9B,IAAI,EAAE,MAAM,IAAI,CAAC;IACjB,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7C,SAAS,EAAE,MAAM,OAAO,CAAC;CAC5B;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CACzB,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE,MAAM,EACf,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,EAC9B,MAAM,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,GACnC,aAAa,CAoEf;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAC5B,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,EACf,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,EAC9B,MAAM,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,GACnC,aAAa,CAqEf;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAC3B,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,EACf,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,GACnC;IAAE,IAAI,EAAE,MAAM,IAAI,CAAA;CAAE,CA8BtB;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CACxB,SAAS,EAAE,GAAG,EAAE,cAAc;AAC9B,OAAO,EAAE,MAAM,EACf,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,GACnC;IAAE,IAAI,EAAE,MAAM,IAAI,CAAA;CAAE,CAwGtB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC1B,KAAK,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9B,IAAI,EAAE,MAAM,IAAI,CAAC;IACjB,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7C,SAAS,EAAE,MAAM,OAAO,CAAC;CAC5B;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CACzB,SAAS,EAAE,GAAG,EAAE,cAAc;AAC9B,OAAO,EAAE,MAAM,EACf,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,EAC9B,MAAM,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,GACnC,aAAa,CAwEf"}
@@ -14,7 +14,6 @@ const INTERACTIVE_EDITORS = [
14
14
  * Patterns that indicate an editor will be opened
15
15
  */
16
16
  const EDITOR_PATTERNS = [
17
- /^git\s+commit(?:\s|$)/, // git commit (opens $EDITOR)
18
17
  /^git\s+rebase\s+-i/, // git rebase -i (interactive)
19
18
  /^crontab\s+-e/, // crontab -e (opens editor)
20
19
  /^visudo/, // visudo (opens editor)
@@ -371,6 +370,147 @@ export function runWSLEditor(distribution, command, cwd, onExit) {
371
370
  const { kill } = setupInteractiveMode(ptyProcess, onExit);
372
371
  return { kill };
373
372
  }
373
+ /**
374
+ * Run a command in WSL session via node-pty with streaming output.
375
+ * Unlike runWSLEditor, this doesn't take over the terminal - it streams output to a callback.
376
+ * This is essential for sudo commands that need TTY for password prompts.
377
+ */
378
+ export function runWSLCommand(distribution, command, cwd, onData, onExit) {
379
+ // Get terminal dimensions
380
+ const cols = process.stdout.columns || 80;
381
+ const rows = process.stdout.rows || 24;
382
+ // Build WSL command - cd to directory and run command
383
+ const wslArgs = [
384
+ '-d', distribution,
385
+ '--',
386
+ 'bash', '-c',
387
+ `cd "${cwd}" && ${command}`
388
+ ];
389
+ // Spawn PTY process with wsl.exe
390
+ const ptyProcess = nodePty.spawn('wsl.exe', wslArgs, {
391
+ name: 'xterm-256color',
392
+ cols,
393
+ rows,
394
+ cwd: process.cwd(),
395
+ env: {
396
+ ...process.env,
397
+ TERM: 'xterm-256color',
398
+ COLORTERM: 'truecolor',
399
+ },
400
+ });
401
+ let isRunning = true;
402
+ // Stream output to callback
403
+ ptyProcess.onData((data) => {
404
+ if (isRunning) {
405
+ onData(data);
406
+ }
407
+ });
408
+ // Handle exit
409
+ ptyProcess.onExit(({ exitCode }) => {
410
+ isRunning = false;
411
+ onExit(exitCode);
412
+ });
413
+ return {
414
+ write: (data) => {
415
+ if (isRunning) {
416
+ ptyProcess.write(data);
417
+ }
418
+ },
419
+ kill: () => {
420
+ if (isRunning) {
421
+ isRunning = false;
422
+ try {
423
+ ptyProcess.kill();
424
+ }
425
+ catch (e) {
426
+ // Ignore kill errors
427
+ }
428
+ }
429
+ },
430
+ resize: (cols, rows) => {
431
+ if (isRunning) {
432
+ try {
433
+ ptyProcess.resize(cols, rows);
434
+ }
435
+ catch (e) {
436
+ // Ignore resize errors
437
+ }
438
+ }
439
+ },
440
+ isRunning: () => isRunning
441
+ };
442
+ }
443
+ /**
444
+ * Run a command in Docker container via node-pty with streaming output.
445
+ * Unlike runDockerEditor, this doesn't take over the terminal - it streams output to a callback.
446
+ * This is essential for sudo commands that need TTY for password prompts.
447
+ */
448
+ export function runDockerCommand(containerId, command, cwd, onData, onExit) {
449
+ // Get terminal dimensions
450
+ const cols = process.stdout.columns || 80;
451
+ const rows = process.stdout.rows || 24;
452
+ // Build docker exec command
453
+ const dockerArgs = [
454
+ 'exec',
455
+ '-it',
456
+ containerId,
457
+ 'bash', '-c',
458
+ `cd "${cwd}" && ${command}`
459
+ ];
460
+ // Spawn PTY process with docker
461
+ const ptyProcess = nodePty.spawn('docker', dockerArgs, {
462
+ name: 'xterm-256color',
463
+ cols,
464
+ rows,
465
+ cwd: process.cwd(),
466
+ env: {
467
+ ...process.env,
468
+ TERM: 'xterm-256color',
469
+ COLORTERM: 'truecolor',
470
+ },
471
+ });
472
+ let isRunning = true;
473
+ // Stream output to callback
474
+ ptyProcess.onData((data) => {
475
+ if (isRunning) {
476
+ onData(data);
477
+ }
478
+ });
479
+ // Handle exit
480
+ ptyProcess.onExit(({ exitCode }) => {
481
+ isRunning = false;
482
+ onExit(exitCode);
483
+ });
484
+ return {
485
+ write: (data) => {
486
+ if (isRunning) {
487
+ ptyProcess.write(data);
488
+ }
489
+ },
490
+ kill: () => {
491
+ if (isRunning) {
492
+ isRunning = false;
493
+ try {
494
+ ptyProcess.kill();
495
+ }
496
+ catch (e) {
497
+ // Ignore kill errors
498
+ }
499
+ }
500
+ },
501
+ resize: (cols, rows) => {
502
+ if (isRunning) {
503
+ try {
504
+ ptyProcess.resize(cols, rows);
505
+ }
506
+ catch (e) {
507
+ // Ignore resize errors
508
+ }
509
+ }
510
+ },
511
+ isRunning: () => isRunning
512
+ };
513
+ }
374
514
  /**
375
515
  * Run an interactive editor in Docker container via node-pty.
376
516
  * Uses docker exec -it to execute the editor command in the container.
@@ -498,4 +638,75 @@ command, cwd, onExit) {
498
638
  }
499
639
  };
500
640
  }
641
+ /**
642
+ * Run a command in SSH session via ssh2's interactive shell with streaming output.
643
+ * Unlike runSSHEditor, this doesn't take over the terminal - it streams output to a callback.
644
+ * This is essential for sudo commands that need TTY for password prompts.
645
+ */
646
+ export function runSSHCommand(sshClient, // ssh2 Client
647
+ command, cwd, onData, onExit) {
648
+ let isRunning = true;
649
+ let stream = null;
650
+ // Get terminal dimensions
651
+ const cols = process.stdout.columns || 80;
652
+ const rows = process.stdout.rows || 24;
653
+ // Request an interactive shell from the SSH server
654
+ sshClient.shell({
655
+ term: 'xterm-256color',
656
+ cols,
657
+ rows,
658
+ }, (err, shellStream) => {
659
+ if (err) {
660
+ console.error('Failed to open SSH shell:', err.message);
661
+ onExit(1);
662
+ return;
663
+ }
664
+ stream = shellStream;
665
+ // Stream output to callback (instead of process.stdout)
666
+ stream.on('data', (data) => {
667
+ if (isRunning) {
668
+ onData(data.toString());
669
+ }
670
+ });
671
+ // Handle stream close
672
+ stream.on('close', () => {
673
+ isRunning = false;
674
+ onExit(0);
675
+ });
676
+ // Send the command to the shell: cd to directory and run command
677
+ // Note: We send the command with exit so shell closes after command exits
678
+ stream.write(`cd "${cwd}" && ${command}; exit\n`);
679
+ });
680
+ return {
681
+ write: (data) => {
682
+ if (isRunning && stream) {
683
+ stream.write(data);
684
+ }
685
+ },
686
+ kill: () => {
687
+ if (isRunning) {
688
+ isRunning = false;
689
+ if (stream) {
690
+ try {
691
+ stream.close();
692
+ }
693
+ catch (e) {
694
+ // Ignore close errors
695
+ }
696
+ }
697
+ }
698
+ },
699
+ resize: (cols, rows) => {
700
+ if (isRunning && stream) {
701
+ try {
702
+ stream.setWindow(rows, cols, 0, 0);
703
+ }
704
+ catch (e) {
705
+ // Ignore resize errors
706
+ }
707
+ }
708
+ },
709
+ isRunning: () => isRunning
710
+ };
711
+ }
501
712
  //# sourceMappingURL=editor-utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"editor-utils.js","sourceRoot":"","sources":["../../src/utils/editor-utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"editor-utils.js","sourceRoot":"","sources":["../../src/utils/editor-utils.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"input-classifier.d.ts","sourceRoot":"","sources":["../../src/utils/input-classifier.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG,IAAI,CAAC;AAwD3C;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,WAAW,CA6FvD"}
1
+ {"version":3,"file":"input-classifier.d.ts","sourceRoot":"","sources":["../../src/utils/input-classifier.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG,IAAI,CAAC;AA+D3C;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,WAAW,CA6FvD"}