centaurus-cli 3.0.0 → 3.0.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.
- package/dist/cli-adapter.d.ts +3 -0
- package/dist/cli-adapter.d.ts.map +1 -1
- package/dist/cli-adapter.js +139 -18
- package/dist/cli-adapter.js.map +1 -1
- package/dist/services/checkpoint-manager.d.ts +81 -44
- package/dist/services/checkpoint-manager.d.ts.map +1 -1
- package/dist/services/checkpoint-manager.js +1219 -693
- package/dist/services/checkpoint-manager.js.map +1 -1
- package/dist/tools/file-ops.d.ts.map +1 -1
- package/dist/tools/file-ops.js +39 -0
- package/dist/tools/file-ops.js.map +1 -1
- package/dist/tools/get-diff.js +8 -2
- package/dist/tools/get-diff.js.map +1 -1
- package/dist/ui/components/App.d.ts.map +1 -1
- package/dist/ui/components/App.js +16 -2
- package/dist/ui/components/App.js.map +1 -1
- package/package.json +1 -1
package/dist/cli-adapter.d.ts
CHANGED
|
@@ -63,6 +63,7 @@ export declare class CentaurusCLI {
|
|
|
63
63
|
private onBackgroundTaskViewCallback?;
|
|
64
64
|
private onTokenCountUpdate?;
|
|
65
65
|
private currentTokenCount;
|
|
66
|
+
private tokenCountUpdateVersion;
|
|
66
67
|
private contextLimitReached;
|
|
67
68
|
private onContextLimitReached?;
|
|
68
69
|
private onSessionQuotaUpdate?;
|
|
@@ -85,6 +86,7 @@ export declare class CentaurusCLI {
|
|
|
85
86
|
private interruptQueue;
|
|
86
87
|
private onInterruptQueueUpdateCallback?;
|
|
87
88
|
private onQueuedMessageDispatchedCallback?;
|
|
89
|
+
private static readonly INTERRUPT_SYSTEM_NOTE_PREFIX;
|
|
88
90
|
private isReconnecting;
|
|
89
91
|
constructor();
|
|
90
92
|
setOnResponseCallback(callback: (message: string) => void): void;
|
|
@@ -219,6 +221,7 @@ export declare class CentaurusCLI {
|
|
|
219
221
|
* Handle disconnection from a remote session
|
|
220
222
|
*/
|
|
221
223
|
private handleRemoteDisconnect;
|
|
224
|
+
private normalizePromptForInputBar;
|
|
222
225
|
/**
|
|
223
226
|
* Calculate and update token count based on current conversation history
|
|
224
227
|
* This ensures UI is always in sync with the actual AI context
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli-adapter.d.ts","sourceRoot":"","sources":["../src/cli-adapter.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cli-adapter.d.ts","sourceRoot":"","sources":["../src/cli-adapter.ts"],"names":[],"mappings":"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"}
|
package/dist/cli-adapter.js
CHANGED
|
@@ -106,6 +106,7 @@ export class CentaurusCLI {
|
|
|
106
106
|
onBackgroundTaskViewCallback;
|
|
107
107
|
onTokenCountUpdate; // Report actual AI context token count to UI
|
|
108
108
|
currentTokenCount = 0; // Track current token count for context limit checking
|
|
109
|
+
tokenCountUpdateVersion = 0; // Guards against stale async token count updates
|
|
109
110
|
contextLimitReached = false; // Track if context limit has been reached
|
|
110
111
|
onContextLimitReached; // Notify UI about context limit state
|
|
111
112
|
onSessionQuotaUpdate;
|
|
@@ -133,6 +134,7 @@ export class CentaurusCLI {
|
|
|
133
134
|
interruptQueue = [];
|
|
134
135
|
onInterruptQueueUpdateCallback;
|
|
135
136
|
onQueuedMessageDispatchedCallback;
|
|
137
|
+
static INTERRUPT_SYSTEM_NOTE_PREFIX = '[SYSTEM NOTE: The user interrupted you with the following message. Please address it, adjust your actions, and proceed with the task.]';
|
|
136
138
|
// Track if we are currently reconnecting to remote sessions (prevent race conditions)
|
|
137
139
|
isReconnecting = false;
|
|
138
140
|
constructor() {
|
|
@@ -269,7 +271,7 @@ export class CentaurusCLI {
|
|
|
269
271
|
return [];
|
|
270
272
|
return this.checkpointManager.list().map(cp => ({
|
|
271
273
|
id: cp.id,
|
|
272
|
-
prompt: cp.prompt,
|
|
274
|
+
prompt: this.normalizePromptForInputBar(cp.prompt),
|
|
273
275
|
timestamp: new Date(cp.createdAt)
|
|
274
276
|
}));
|
|
275
277
|
}
|
|
@@ -612,6 +614,16 @@ Begin executing now, starting with Step 1.`;
|
|
|
612
614
|
this.currentInteractiveProcess = undefined;
|
|
613
615
|
}
|
|
614
616
|
}
|
|
617
|
+
normalizePromptForInputBar(prompt) {
|
|
618
|
+
if (!prompt)
|
|
619
|
+
return '';
|
|
620
|
+
if (prompt.startsWith(CentaurusCLI.INTERRUPT_SYSTEM_NOTE_PREFIX)) {
|
|
621
|
+
return prompt
|
|
622
|
+
.slice(CentaurusCLI.INTERRUPT_SYSTEM_NOTE_PREFIX.length)
|
|
623
|
+
.trimStart();
|
|
624
|
+
}
|
|
625
|
+
return prompt;
|
|
626
|
+
}
|
|
615
627
|
/**
|
|
616
628
|
* Calculate and update token count based on current conversation history
|
|
617
629
|
* This ensures UI is always in sync with the actual AI context
|
|
@@ -620,6 +632,7 @@ Begin executing now, starting with Step 1.`;
|
|
|
620
632
|
async updateTokenCount() {
|
|
621
633
|
if (!this.onTokenCountUpdate)
|
|
622
634
|
return;
|
|
635
|
+
const updateVersion = ++this.tokenCountUpdateVersion;
|
|
623
636
|
try {
|
|
624
637
|
// Get current model
|
|
625
638
|
const currentModel = this.configManager.get('modelName') || 'gemini-2.5-flash';
|
|
@@ -629,6 +642,10 @@ Begin executing now, starting with Step 1.`;
|
|
|
629
642
|
const messagesForCounting = [...this.conversationHistory];
|
|
630
643
|
// Call backend API for accurate token counting
|
|
631
644
|
const tokenCount = await apiClient.countTokens(currentModel, messagesForCounting);
|
|
645
|
+
if (updateVersion !== this.tokenCountUpdateVersion) {
|
|
646
|
+
quickLog(`[${new Date().toISOString()}] [updateTokenCount] Ignored stale token count update\n`);
|
|
647
|
+
return;
|
|
648
|
+
}
|
|
632
649
|
// Store locally for context limit checking
|
|
633
650
|
this.currentTokenCount = tokenCount;
|
|
634
651
|
// Update UI with accurate count
|
|
@@ -641,6 +658,9 @@ Begin executing now, starting with Step 1.`;
|
|
|
641
658
|
quickLog(`[${new Date().toISOString()}] [updateTokenCount] ${logMsg}`);
|
|
642
659
|
}
|
|
643
660
|
catch (error) {
|
|
661
|
+
if (updateVersion !== this.tokenCountUpdateVersion) {
|
|
662
|
+
return;
|
|
663
|
+
}
|
|
644
664
|
// Fallback to character-based estimation if API fails
|
|
645
665
|
const SYSTEM_PROMPT_ESTIMATE = 14000; // Backend injects ~14K char system prompt
|
|
646
666
|
// Calculate total characters from conversation history
|
|
@@ -1375,8 +1395,9 @@ DO NOT use write_to_file, edit_file, or execute_command until the plan is approv
|
|
|
1375
1395
|
}
|
|
1376
1396
|
}
|
|
1377
1397
|
try {
|
|
1398
|
+
const checkpointPrompt = options.interruptCleanText || message;
|
|
1378
1399
|
const checkpointStartPromise = this.checkpointManager.startCheckpoint({
|
|
1379
|
-
prompt:
|
|
1400
|
+
prompt: checkpointPrompt,
|
|
1380
1401
|
cwd: this.cwd,
|
|
1381
1402
|
contextType: currentContext.type,
|
|
1382
1403
|
conversationIndex: this.conversationHistory.length - 1,
|
|
@@ -2448,6 +2469,49 @@ DO NOT use write_to_file, edit_file, or execute_command until the plan is approv
|
|
|
2448
2469
|
this.onQueuedMessageDispatchedCallback(nextInterrupt);
|
|
2449
2470
|
}
|
|
2450
2471
|
quickLog(`[${new Date().toISOString()}] [handleMessage] Processing mid-turn interrupt from user.\n`);
|
|
2472
|
+
// Create a checkpoint for this interrupt so it appears in /revert.
|
|
2473
|
+
// Store the clean user text (without system wrapper) for autocomplete/input prefill.
|
|
2474
|
+
if (this.checkpointManager && this.currentChatId) {
|
|
2475
|
+
try {
|
|
2476
|
+
const checkpointContext = this.contextManager.getCurrentContext();
|
|
2477
|
+
let remoteSessionInfo;
|
|
2478
|
+
let remoteHandler;
|
|
2479
|
+
if (checkpointContext.type !== 'local' && checkpointContext.handler) {
|
|
2480
|
+
const metadata = checkpointContext.metadata;
|
|
2481
|
+
remoteSessionInfo = {
|
|
2482
|
+
hostname: metadata.hostname,
|
|
2483
|
+
username: metadata.username,
|
|
2484
|
+
sessionId: checkpointContext.sessionId,
|
|
2485
|
+
connectionString: metadata.hostname
|
|
2486
|
+
? `${metadata.username || 'user'}@${metadata.hostname}`
|
|
2487
|
+
: metadata.distroName || metadata.containerId || undefined,
|
|
2488
|
+
};
|
|
2489
|
+
if (typeof checkpointContext.handler.readFile === 'function' &&
|
|
2490
|
+
typeof checkpointContext.handler.writeFile === 'function' &&
|
|
2491
|
+
typeof checkpointContext.handler.executeCommand === 'function' &&
|
|
2492
|
+
typeof checkpointContext.handler.isConnected === 'function') {
|
|
2493
|
+
remoteHandler = checkpointContext.handler;
|
|
2494
|
+
}
|
|
2495
|
+
}
|
|
2496
|
+
// conversationIndex points to the next message slot (the interrupt user message).
|
|
2497
|
+
const interruptCheckpoint = await this.checkpointManager.startCheckpoint({
|
|
2498
|
+
prompt: nextInterrupt,
|
|
2499
|
+
cwd: this.cwd,
|
|
2500
|
+
contextType: checkpointContext.type,
|
|
2501
|
+
conversationIndex: this.conversationHistory.length,
|
|
2502
|
+
remoteSessionInfo,
|
|
2503
|
+
handler: remoteHandler,
|
|
2504
|
+
});
|
|
2505
|
+
if (interruptCheckpoint) {
|
|
2506
|
+
this.currentCheckpointId = interruptCheckpoint.id;
|
|
2507
|
+
context.currentCheckpointId = interruptCheckpoint.id;
|
|
2508
|
+
quickLog(`[${new Date().toISOString()}] [Checkpoint] Started mid-turn checkpoint ${interruptCheckpoint.id} for interrupt: "${nextInterrupt.slice(0, 50)}..."\n`);
|
|
2509
|
+
}
|
|
2510
|
+
}
|
|
2511
|
+
catch (checkpointError) {
|
|
2512
|
+
quickLog(`[${new Date().toISOString()}] [Checkpoint] Failed to create mid-turn interrupt checkpoint: ${checkpointError?.message || checkpointError}\n`);
|
|
2513
|
+
}
|
|
2514
|
+
}
|
|
2451
2515
|
// Wrap the interrupt with context for the AI
|
|
2452
2516
|
const wrappedInterrupt = `[SYSTEM NOTE: The user interrupted you with the following message. Please address it, adjust your actions, and proceed with the task.]\n\n${nextInterrupt}`;
|
|
2453
2517
|
// Push the interrupt into conversation history so the AI
|
|
@@ -3380,9 +3444,10 @@ Then try /models local again.`;
|
|
|
3380
3444
|
// Truncate conversation history to the checkpoint
|
|
3381
3445
|
if (checkpointIndex >= 0) {
|
|
3382
3446
|
const checkpoint = result.checkpoint;
|
|
3447
|
+
const checkpointPromptForUi = this.normalizePromptForInputBar(checkpoint.prompt);
|
|
3383
3448
|
// Populate the input bar with the reverted prompt
|
|
3384
3449
|
if (this.onSetInputCallback) {
|
|
3385
|
-
this.onSetInputCallback(
|
|
3450
|
+
this.onSetInputCallback(checkpointPromptForUi);
|
|
3386
3451
|
}
|
|
3387
3452
|
// Use conversationIndex from metadata if available (robust)
|
|
3388
3453
|
// This avoids issues with duplicate prompts getting truncated at the wrong occurrence
|
|
@@ -3396,7 +3461,7 @@ Then try /models local again.`;
|
|
|
3396
3461
|
}
|
|
3397
3462
|
else {
|
|
3398
3463
|
// Fallback to string matching (legacy or missing index)
|
|
3399
|
-
const targetPrompt =
|
|
3464
|
+
const targetPrompt = checkpointPromptForUi;
|
|
3400
3465
|
// Find the user message with this prompt in conversationHistory
|
|
3401
3466
|
let foundIndex = -1;
|
|
3402
3467
|
// Use a broader search to find the matching message
|
|
@@ -3429,7 +3494,7 @@ Then try /models local again.`;
|
|
|
3429
3494
|
}
|
|
3430
3495
|
else {
|
|
3431
3496
|
// Fallback to string matching (legacy or missing index)
|
|
3432
|
-
const targetPrompt =
|
|
3497
|
+
const targetPrompt = checkpointPromptForUi;
|
|
3433
3498
|
const searchPrompt = targetPrompt.slice(0, 50);
|
|
3434
3499
|
let foundUiIndex = -1;
|
|
3435
3500
|
for (let i = 0; i < this.uiMessageHistory.length; i++) {
|
|
@@ -3445,15 +3510,20 @@ Then try /models local again.`;
|
|
|
3445
3510
|
quickLog(`[${new Date().toISOString()}] [Revert] Truncated UI message history to index ${foundUiIndex} (exclusive, using string match)\n`);
|
|
3446
3511
|
}
|
|
3447
3512
|
}
|
|
3513
|
+
// Recompute token count from the truncated history.
|
|
3514
|
+
// This keeps the context indicator in sync even before any follow-up prompt.
|
|
3515
|
+
await this.updateTokenCount().catch(err => {
|
|
3516
|
+
quickLog(`[${new Date().toISOString()}] [Revert] Failed to update token count after revert: ${err}\n`);
|
|
3517
|
+
});
|
|
3448
3518
|
// Remove the reverted checkpoint AND all checkpoints created after it
|
|
3449
3519
|
// They should not appear in autocomplete anymore
|
|
3450
3520
|
this.checkpointManager.removeCheckpointsFrom(checkpointArg);
|
|
3451
3521
|
// Build the success message BEFORE calling handleChatPickerSelection
|
|
3452
3522
|
// This will be passed as a parameter and included in the same React setState call
|
|
3453
3523
|
quickLog(`[${new Date().toISOString()}] [Revert] Building success message for checkpoint "${checkpointArg}"\n`);
|
|
3454
|
-
const truncatedPrompt =
|
|
3455
|
-
?
|
|
3456
|
-
:
|
|
3524
|
+
const truncatedPrompt = checkpointPromptForUi.length > 50
|
|
3525
|
+
? checkpointPromptForUi.slice(0, 50) + '...'
|
|
3526
|
+
: checkpointPromptForUi;
|
|
3457
3527
|
let revertSuccessMessage = `✅ Reverted to: "${truncatedPrompt}"\n` +
|
|
3458
3528
|
`Restored ${result.restored} files, removed ${result.removed} files.`;
|
|
3459
3529
|
if (result.errors.length > 0) {
|
|
@@ -3463,7 +3533,7 @@ Then try /models local again.`;
|
|
|
3463
3533
|
if (this.currentChatId) {
|
|
3464
3534
|
quickLog(`[${new Date().toISOString()}] [Revert] Saving truncated chat to disk (chatId: ${this.currentChatId})\n`);
|
|
3465
3535
|
quickLog(`[${new Date().toISOString()}] [Revert] uiMessageHistory.length BEFORE save: ${this.uiMessageHistory.length}\n`);
|
|
3466
|
-
this.saveCurrentChat();
|
|
3536
|
+
this.saveCurrentChat({ allowEmpty: true });
|
|
3467
3537
|
// Reload the chat to force UI update ensures consistency
|
|
3468
3538
|
// This simulates a /chat resume command which correctly populates the UI
|
|
3469
3539
|
// Pass skipLoadedMessage=true and the revert success message
|
|
@@ -4261,13 +4331,19 @@ Create once, run many times across different machines.`;
|
|
|
4261
4331
|
/**
|
|
4262
4332
|
* Save current conversation to local storage
|
|
4263
4333
|
*/
|
|
4264
|
-
saveCurrentChat() {
|
|
4265
|
-
|
|
4266
|
-
if (
|
|
4334
|
+
saveCurrentChat(options) {
|
|
4335
|
+
const allowEmpty = options?.allowEmpty ?? false;
|
|
4336
|
+
// Only save if there are messages (AI conversation or shell commands),
|
|
4337
|
+
// unless explicitly forced (revert-to-first-message edge case).
|
|
4338
|
+
if (this.conversationHistory.length === 0 && !allowEmpty) {
|
|
4267
4339
|
return;
|
|
4268
4340
|
}
|
|
4269
4341
|
// Generate chat ID if not exists
|
|
4270
4342
|
if (!this.currentChatId) {
|
|
4343
|
+
if (allowEmpty) {
|
|
4344
|
+
// Avoid creating brand-new empty chats.
|
|
4345
|
+
return;
|
|
4346
|
+
}
|
|
4271
4347
|
this.currentChatId = localChatStorage.generateChatId();
|
|
4272
4348
|
}
|
|
4273
4349
|
// Convert to StoredMessage format (AI context)
|
|
@@ -4482,9 +4558,10 @@ Create once, run many times across different machines.`;
|
|
|
4482
4558
|
// Restore UI messages if available
|
|
4483
4559
|
quickLog(`[${new Date().toISOString()}] [handleChatPickerSelection] chat.uiMessages exists: ${!!chat.uiMessages}, length: ${chat.uiMessages?.length ?? 0}\n`);
|
|
4484
4560
|
quickLog(`[${new Date().toISOString()}] [handleChatPickerSelection] onRestoreMessagesCallback exists: ${!!this.onRestoreMessagesCallback}\n`);
|
|
4485
|
-
if (
|
|
4561
|
+
if (this.onRestoreMessagesCallback) {
|
|
4562
|
+
const sourceUiMessages = chat.uiMessages ?? [];
|
|
4486
4563
|
// Convert StoredUIMessage back to Message format
|
|
4487
|
-
const restoredMessages =
|
|
4564
|
+
const restoredMessages = sourceUiMessages.map(msg => ({
|
|
4488
4565
|
id: msg.id,
|
|
4489
4566
|
role: msg.role,
|
|
4490
4567
|
content: msg.content,
|
|
@@ -4513,6 +4590,45 @@ Create once, run many times across different machines.`;
|
|
|
4513
4590
|
restoredMessages.push(revertSystemMessage);
|
|
4514
4591
|
quickLog(`[${new Date().toISOString()}] [handleChatPickerSelection] Appended revert success message, restoredMessages.length: ${restoredMessages.length}\n`);
|
|
4515
4592
|
}
|
|
4593
|
+
// Determine if this is a remote chat that needs reconnection
|
|
4594
|
+
const pendingContextStack = shouldPreserveRemote
|
|
4595
|
+
? null
|
|
4596
|
+
: (chat.remoteContextStack ?? (chat.remoteContext ? [chat.remoteContext] : null));
|
|
4597
|
+
const hasRemoteContext = pendingContextStack && pendingContextStack.length > 0;
|
|
4598
|
+
// IMPORTANT: Append the "Loaded chat" or "Reconnecting" status message to restoredMessages
|
|
4599
|
+
// BEFORE calling onRestoreMessagesCallback. This prevents the message from being added
|
|
4600
|
+
// separately via onDirectMessageCallback between the two-phase restore (Phase 1: clear,
|
|
4601
|
+
// Phase 2: 50ms delayed restore), which would cause Ink's Static component to increment
|
|
4602
|
+
// its rendered count and skip the first restored message.
|
|
4603
|
+
if (!skipLoadedMessage && !revertSuccessMessage) {
|
|
4604
|
+
if (hasRemoteContext) {
|
|
4605
|
+
// For remote chats, include the reconnection notification
|
|
4606
|
+
const nestingInfo = pendingContextStack.length > 1
|
|
4607
|
+
? ` (${pendingContextStack.length} levels: ${pendingContextStack.map((c) => c.type).join(' > ')})`
|
|
4608
|
+
: '';
|
|
4609
|
+
const reconnectMessage = {
|
|
4610
|
+
id: `reconnect-${Date.now()}-${Math.random().toString(36).substring(2, 11)}`,
|
|
4611
|
+
role: 'assistant',
|
|
4612
|
+
content: `🔄 Reconnecting to session${nestingInfo}...`,
|
|
4613
|
+
timestamp: new Date(),
|
|
4614
|
+
shouldStream: false,
|
|
4615
|
+
};
|
|
4616
|
+
restoredMessages.push(reconnectMessage);
|
|
4617
|
+
quickLog(`[${new Date().toISOString()}] [handleChatPickerSelection] Appended reconnect message to restoredMessages\n`);
|
|
4618
|
+
}
|
|
4619
|
+
else {
|
|
4620
|
+
// For local chats, include the "Loaded chat" confirmation
|
|
4621
|
+
const loadedMessage = {
|
|
4622
|
+
id: `loaded-${Date.now()}-${Math.random().toString(36).substring(2, 11)}`,
|
|
4623
|
+
role: 'assistant',
|
|
4624
|
+
content: `✅ Loaded chat: "${chat.title}"\n\nYou have ${chat.messageCount} messages in AI context. Continue your conversation!`,
|
|
4625
|
+
timestamp: new Date(),
|
|
4626
|
+
shouldStream: false,
|
|
4627
|
+
};
|
|
4628
|
+
restoredMessages.push(loadedMessage);
|
|
4629
|
+
quickLog(`[${new Date().toISOString()}] [handleChatPickerSelection] Appended loaded chat message to restoredMessages\n`);
|
|
4630
|
+
}
|
|
4631
|
+
}
|
|
4516
4632
|
quickLog(`[${new Date().toISOString()}] [handleChatPickerSelection] Calling onRestoreMessagesCallback with ${restoredMessages.length} messages\n`);
|
|
4517
4633
|
this.onRestoreMessagesCallback(restoredMessages);
|
|
4518
4634
|
quickLog(`[${new Date().toISOString()}] [handleChatPickerSelection] onRestoreMessagesCallback completed\n`);
|
|
@@ -4528,11 +4644,13 @@ Create once, run many times across different machines.`;
|
|
|
4528
4644
|
// Initialize stacks
|
|
4529
4645
|
this.cwdStack = [baseLocalCwd];
|
|
4530
4646
|
this.connectionCommandStack = [];
|
|
4531
|
-
//
|
|
4647
|
+
// Note: The initial "Reconnecting to session..." notification is now included
|
|
4648
|
+
// in the restoredMessages array (if uiMessages were restored) to avoid Ink's Static
|
|
4649
|
+
// component count desync. Only show via onDirectMessageCallback if no UI restore happened.
|
|
4532
4650
|
const nestingInfo = contextStackToRestore.length > 1
|
|
4533
4651
|
? ` (${contextStackToRestore.length} levels: ${contextStackToRestore.map(c => c.type).join(' > ')})`
|
|
4534
4652
|
: '';
|
|
4535
|
-
if (this.onDirectMessageCallback) {
|
|
4653
|
+
if (this.onDirectMessageCallback && !this.onRestoreMessagesCallback) {
|
|
4536
4654
|
this.onDirectMessageCallback(`🔄 Reconnecting to session${nestingInfo}...`);
|
|
4537
4655
|
}
|
|
4538
4656
|
this.isReconnecting = true;
|
|
@@ -4544,7 +4662,8 @@ Create once, run many times across different machines.`;
|
|
|
4544
4662
|
const { type, connectionCommand, remoteCwd } = remoteCtx;
|
|
4545
4663
|
const levelInfo = contextStackToRestore.length > 1 ? ` [${i + 1}/${contextStackToRestore.length}]` : '';
|
|
4546
4664
|
// Show connecting status for this level
|
|
4547
|
-
if (
|
|
4665
|
+
// Only show via onDirectMessageCallback if no UI restore happened (same reason as reconnecting message above)
|
|
4666
|
+
if (this.onDirectMessageCallback && !this.onRestoreMessagesCallback) {
|
|
4548
4667
|
this.onDirectMessageCallback(`🔄${levelInfo} Connecting to ${type.toUpperCase()}...`);
|
|
4549
4668
|
}
|
|
4550
4669
|
if (this.onConnectionStatusUpdate) {
|
|
@@ -4663,7 +4782,9 @@ Create once, run many times across different machines.`;
|
|
|
4663
4782
|
}
|
|
4664
4783
|
}
|
|
4665
4784
|
// Skip loaded message if called from revert (to avoid React setState race condition)
|
|
4666
|
-
if (
|
|
4785
|
+
// Also skip if we already included it in the restoredMessages array (when uiMessages were restored)
|
|
4786
|
+
const uiMessagesWereRestored = !!this.onRestoreMessagesCallback;
|
|
4787
|
+
if (this.onDirectMessageCallback && !skipLoadedMessage && !uiMessagesWereRestored) {
|
|
4667
4788
|
const responseMessage = `✅ Loaded chat: "${chat.title}"\n\nYou have ${chat.messageCount} messages in AI context. Continue your conversation!`;
|
|
4668
4789
|
this.onDirectMessageCallback(responseMessage);
|
|
4669
4790
|
}
|