@syntero/orca-cli 1.2.2 → 1.2.3

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 (45) hide show
  1. package/dist/auth.d.ts +2 -1
  2. package/dist/auth.d.ts.map +1 -1
  3. package/dist/auth.js +6 -3
  4. package/dist/auth.js.map +1 -1
  5. package/dist/components/ChatApp.d.ts.map +1 -1
  6. package/dist/components/ChatApp.js +50 -339
  7. package/dist/components/ChatApp.js.map +1 -1
  8. package/dist/components/InputFooter.d.ts +23 -1
  9. package/dist/components/InputFooter.d.ts.map +1 -1
  10. package/dist/components/InputFooter.js +11 -8
  11. package/dist/components/InputFooter.js.map +1 -1
  12. package/dist/components/MultiSelectList.d.ts +25 -0
  13. package/dist/components/MultiSelectList.d.ts.map +1 -0
  14. package/dist/components/MultiSelectList.js +70 -0
  15. package/dist/components/MultiSelectList.js.map +1 -0
  16. package/dist/components/SyncMenu.d.ts +30 -6
  17. package/dist/components/SyncMenu.d.ts.map +1 -1
  18. package/dist/components/SyncMenu.js +383 -43
  19. package/dist/components/SyncMenu.js.map +1 -1
  20. package/dist/hooks/useConversationPersistence.d.ts +15 -0
  21. package/dist/hooks/useConversationPersistence.d.ts.map +1 -0
  22. package/dist/hooks/useConversationPersistence.js +86 -0
  23. package/dist/hooks/useConversationPersistence.js.map +1 -0
  24. package/dist/hooks/useInputDispatch.d.ts +11 -0
  25. package/dist/hooks/useInputDispatch.d.ts.map +1 -0
  26. package/dist/hooks/useInputDispatch.js +112 -0
  27. package/dist/hooks/useInputDispatch.js.map +1 -0
  28. package/dist/hooks/useSlashCommands.d.ts +21 -0
  29. package/dist/hooks/useSlashCommands.d.ts.map +1 -0
  30. package/dist/hooks/useSlashCommands.js +146 -0
  31. package/dist/hooks/useSlashCommands.js.map +1 -0
  32. package/dist/hooks/useSyncFetchers.d.ts +8 -0
  33. package/dist/hooks/useSyncFetchers.d.ts.map +1 -0
  34. package/dist/hooks/useSyncFetchers.js +103 -0
  35. package/dist/hooks/useSyncFetchers.js.map +1 -0
  36. package/dist/sync/download.d.ts +3 -3
  37. package/dist/sync/download.d.ts.map +1 -1
  38. package/dist/sync/download.js +16 -11
  39. package/dist/sync/download.js.map +1 -1
  40. package/dist/sync/sync-engine.d.ts.map +1 -1
  41. package/dist/sync/sync-engine.js +7 -4
  42. package/dist/sync/sync-engine.js.map +1 -1
  43. package/dist/types/sync.d.ts +2 -0
  44. package/dist/types/sync.d.ts.map +1 -1
  45. package/package.json +1 -1
@@ -1,20 +1,16 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { useState, useCallback, useRef } from 'react';
3
3
  import { Static, Box, Text, useApp, useInput } from 'ink';
4
- import { createRequire } from 'module';
5
4
  import { InputFooter } from './InputFooter.js';
6
5
  import { CommandConfirmation } from './CommandConfirmation.js';
7
- import { loadSettings } from '../settings.js';
8
- // Get package version
9
- const require = createRequire(import.meta.url);
10
- const pkg = require('../../package.json');
11
- import { runAssistant, summarizeConversation, generateAITitle, } from '../assistant/index.js';
6
+ import { runAssistant, summarizeConversation, } from '../assistant/index.js';
12
7
  import { Colors, color } from '../utils.js';
13
- import { setToken as authSetToken, logout as authLogout, status as authStatus, loadCredentials, } from '../auth.js';
14
- import { estimateConversationTokens, shouldAutoCompact, formatTokenCount, AUTO_COMPACT_THRESHOLD, calculateContextBreakdown, generateContextDisplay, } from '../tokens.js';
8
+ import { estimateConversationTokens, shouldAutoCompact, formatTokenCount, } from '../tokens.js';
15
9
  import { debugLog } from '../settings.js';
16
- import { createConversation, saveConversation, loadConversation, updateConversation, renameConversation, updateConversationTitle, } from '../conversations/index.js';
17
- import { setConversationTitle, resetTerminalTitle } from '../terminalTitle.js';
10
+ import { useSyncFetchers } from '../hooks/useSyncFetchers.js';
11
+ import { useSlashCommands } from '../hooks/useSlashCommands.js';
12
+ import { useConversationPersistence } from '../hooks/useConversationPersistence.js';
13
+ import { useInputDispatch } from '../hooks/useInputDispatch.js';
18
14
  /**
19
15
  * ChatApp - Main chat component using Ink's Static for persistent footer pattern.
20
16
  *
@@ -36,10 +32,6 @@ export function ChatApp({ settings: initialSettings, createClient }) {
36
32
  const [conversationHistory, setConversationHistory] = useState([]);
37
33
  const [streamingMessageId, setStreamingMessageId] = useState(null);
38
34
  const [isCompacting, setIsCompacting] = useState(false);
39
- // Conversation persistence state
40
- const [currentConversationId, setCurrentConversationId] = useState(null);
41
- // Ref to track conversation ID for save logic (avoids closure issues)
42
- const currentConversationIdRef = useRef(null);
43
35
  // Derived state: check if we're currently streaming
44
36
  const isStreaming = streamingMessageId !== null;
45
37
  // Message queue for messages sent during streaming (using ref for stable reference)
@@ -58,6 +50,15 @@ export function ChatApp({ settings: initialSettings, createClient }) {
58
50
  // Next message ID
59
51
  const nextIdRef = useRef(1);
60
52
  const getNextId = () => nextIdRef.current++;
53
+ // Shared helper: add a system message to the UI
54
+ const addSystemMessage = useCallback((content) => {
55
+ setMessages(prev => [...prev, {
56
+ id: getNextId(),
57
+ role: 'system',
58
+ content,
59
+ timestamp: Date.now(),
60
+ }]);
61
+ }, []);
61
62
  // Reconnect client with new settings
62
63
  const reconnectClient = useCallback((newSettings) => {
63
64
  debugLog(`[reconnectClient] called with provider=${newSettings.provider}, anthropic.model=${newSettings.anthropic.model}, openai.model=${newSettings.openai.model}`);
@@ -94,258 +95,39 @@ export function ChatApp({ settings: initialSettings, createClient }) {
94
95
  setConversationHistory([summaryMessage]);
95
96
  // Add a system message to display in the UI
96
97
  const tokensAfter = estimateConversationTokens([summaryMessage]);
97
- setMessages(prev => [...prev, {
98
- id: getNextId(),
99
- role: 'system',
100
- content: color(`Conversation compacted: ${formatTokenCount(tokensBefore)} -> ${formatTokenCount(tokensAfter)} tokens`, Colors.dim),
101
- timestamp: Date.now(),
102
- }]);
98
+ addSystemMessage(color(`Conversation compacted: ${formatTokenCount(tokensBefore)} -> ${formatTokenCount(tokensAfter)} tokens`, Colors.dim));
103
99
  return true;
104
100
  }
105
101
  catch (e) {
106
- setMessages(prev => [...prev, {
107
- id: getNextId(),
108
- role: 'system',
109
- content: color(`Compaction failed: ${e instanceof Error ? e.message : String(e)}`, Colors.red),
110
- timestamp: Date.now(),
111
- }]);
102
+ addSystemMessage(color(`Compaction failed: ${e instanceof Error ? e.message : String(e)}`, Colors.red));
112
103
  return false;
113
104
  }
114
105
  finally {
115
106
  setIsCompacting(false);
116
107
  }
117
- }, [client, settings, conversationHistory]);
118
- // Handle slash commands
119
- const handleCommand = useCallback(async (command) => {
120
- const parts = command.trim().split(/\s+/);
121
- const cmd = parts[0].toLowerCase();
122
- const args = parts.slice(1).join(' ');
123
- if (cmd === '/token') {
124
- // Token is handled inline by InputFooter
125
- return { handled: false };
126
- }
127
- if (cmd === '/logout') {
128
- await authLogout();
129
- const newClient = reconnectClient(settings);
130
- return {
131
- handled: true,
132
- output: newClient.isCloud && newClient.cloudProvider
133
- ? color(`Using cloud: ${loadCredentials()?.user.email} (${newClient.cloudProvider})`, Colors.green)
134
- : color(`Using local provider: ${settings.provider}`, Colors.green),
135
- };
136
- }
137
- if (cmd === '/status') {
138
- await authStatus();
139
- return { handled: true };
140
- }
141
- if (cmd === '/config') {
142
- // Config is handled inline by InputFooter
143
- return { handled: false };
144
- }
145
- if (cmd === '/settings') {
146
- return { handled: true, output: `\n${settings.getMaskedDisplay()}\n` };
147
- }
148
- if (cmd === '/context') {
149
- // Determine the current model based on provider (handles both cloud and local mode)
150
- let currentModel;
151
- const effectiveProvider = settings.provider;
152
- if (effectiveProvider === 'anthropic') {
153
- currentModel = settings.anthropic.model;
154
- }
155
- else if (effectiveProvider === 'openai') {
156
- currentModel = settings.openai.model;
157
- }
158
- else if (effectiveProvider === 'azure') {
159
- currentModel = settings.azure.deployment;
160
- }
161
- else {
162
- currentModel = settings.openai.model; // Fallback
163
- }
164
- debugLog(`[/context] effectiveProvider=${effectiveProvider}, currentModel=${currentModel}`);
165
- const breakdown = calculateContextBreakdown(currentModel, conversationHistory);
166
- const display = generateContextDisplay(breakdown);
167
- return { handled: true, output: `\n${display}\n` };
168
- }
169
- if (cmd === '/help') {
170
- const tokenCount = estimateConversationTokens(conversationHistory);
171
- const streamingStatus = settings.streaming !== false ? 'enabled' : 'disabled';
172
- const helpText = `
173
- Available commands:
174
- /token Enter CLI token from web UI
175
- /token <token> Set CLI token directly
176
- /logout Log out from cloud platform
177
- /status Show authentication status
178
- /config Configure local API keys (instead of cloud)
179
- /model Select AI model for current provider
180
- /settings Show current settings
181
- /streaming Configure response streaming (currently ${streamingStatus})
182
- /sync Sync library from cloud (opens menu)
183
- /resume Resume a previous conversation
184
- /rename <title> Rename current conversation
185
- /clear Clear conversation
186
- /compact [msg] Compact conversation (summarize and reset)
187
- Optional: add instructions for what to preserve
188
- /context Show token usage breakdown
189
- /version Show CLI version
190
- /help Show this help
191
- quit, exit Exit
192
-
193
- Current conversation: ~${formatTokenCount(tokenCount)} tokens (auto-compact at ${formatTokenCount(AUTO_COMPACT_THRESHOLD)})
194
-
195
- Tip: Ask the AI to "update Orca" and it will handle the deployment update process.
196
- `;
197
- return { handled: true, output: helpText };
198
- }
199
- if (cmd === '/version') {
200
- return { handled: true, output: `orca v${pkg.version}` };
201
- }
202
- if (cmd === '/clear') {
108
+ }, [client, settings, conversationHistory, addSystemMessage]);
109
+ // --- Custom hooks ---
110
+ const { fetchSolutions, fetchUsers, fetchFolders, fetchOrganizations, userRole } = useSyncFetchers();
111
+ const { currentConversationId, autoSave, handleResume, clearConversation } = useConversationPersistence(client, settings, getNextId);
112
+ const handleCommand = useSlashCommands({
113
+ settings,
114
+ conversationHistory,
115
+ currentConversationId,
116
+ reconnectClient,
117
+ performCompaction,
118
+ addSystemMessage,
119
+ clearConversation: useCallback(() => {
203
120
  setMessages([]);
204
121
  setConversationHistory([]);
205
- currentConversationIdRef.current = null; // Reset ref
206
- setCurrentConversationId(null); // Reset conversation ID for fresh start
207
- resetTerminalTitle(); // Reset terminal title to just "Orca"
208
- return { handled: true, output: color('Conversation cleared.', Colors.dim) };
209
- }
210
- if (cmd === '/compact') {
211
- if (conversationHistory.length === 0) {
212
- return { handled: true, output: color('Nothing to compact - conversation is empty.', Colors.dim) };
213
- }
214
- // Extract custom instructions if provided
215
- const customInstructions = args.trim() || undefined;
216
- const tokenCount = estimateConversationTokens(conversationHistory);
217
- setMessages(prev => [...prev, {
218
- id: getNextId(),
219
- role: 'system',
220
- content: color(`Compacting conversation (~${formatTokenCount(tokenCount)} tokens)...`, Colors.dim),
221
- timestamp: Date.now(),
222
- }]);
223
- // Perform compaction asynchronously
224
- performCompaction(customInstructions);
225
- return { handled: true };
226
- }
227
- if (cmd === '/sync') {
228
- // Sync is handled inline by InputFooter via SyncMenu
229
- return { handled: false };
230
- }
231
- if (cmd === '/resume') {
232
- // Resume is handled inline by InputFooter via ResumeMenu
233
- return { handled: false };
234
- }
235
- if (cmd === '/rename') {
236
- if (!currentConversationId) {
237
- return { handled: true, output: color('No active conversation to rename.', Colors.yellow) };
238
- }
239
- const newTitle = args.trim();
240
- if (!newTitle) {
241
- return { handled: true, output: color('Usage: /rename <new title>', Colors.yellow) };
242
- }
243
- const success = renameConversation(currentConversationId, newTitle);
244
- if (success) {
245
- setConversationTitle(newTitle); // Update terminal title
246
- return { handled: true, output: color(`Conversation renamed to: "${newTitle}"`, Colors.green) };
247
- }
248
- return { handled: true, output: color('Failed to rename conversation.', Colors.red) };
249
- }
250
- if (cmd === '/streaming') {
251
- // Streaming menu is handled inline by InputFooter
252
- return { handled: false };
253
- }
254
- if (cmd === '/model') {
255
- // Model selection is handled inline by InputFooter
256
- return { handled: false };
257
- }
258
- return { handled: false };
259
- }, [settings, reconnectClient, conversationHistory, performCompaction]);
122
+ clearConversation();
123
+ }, [clearConversation]),
124
+ });
125
+ const dispatchSpecialInput = useInputDispatch({ settings, reconnectClient, addSystemMessage });
260
126
  // Process a single message (used by both direct submission and queue processing)
261
127
  const processMessage = useCallback(async (input) => {
262
- // Handle special token submission from InputFooter
263
- if (input.startsWith('__TOKEN__:')) {
264
- const token = input.slice('__TOKEN__:'.length);
265
- const success = await authSetToken(token);
266
- if (success) {
267
- const newClient = reconnectClient(settings);
268
- if (newClient.isCloud && newClient.cloudProvider) {
269
- const creds = loadCredentials();
270
- if (creds) {
271
- setMessages(prev => [...prev, {
272
- id: getNextId(),
273
- role: 'system',
274
- content: color(`Using cloud: ${creds.user.email} (${newClient.cloudProvider})`, Colors.green),
275
- timestamp: Date.now(),
276
- }]);
277
- }
278
- }
279
- }
280
- return;
281
- }
282
- // Handle sync menu actions
283
- if (input.startsWith('__SYNC__:')) {
284
- const action = input.slice('__SYNC__:'.length);
285
- const { runSync, resumeSync, showSyncStatus } = await import('../sync/index.js');
286
- switch (action) {
287
- case 'normal':
288
- await runSync({ force: false });
289
- break;
290
- case 'force':
291
- await runSync({ force: true });
292
- break;
293
- case 'preview':
294
- await runSync({ dryRun: true });
295
- break;
296
- case 'status':
297
- await showSyncStatus();
298
- break;
299
- case 'resume':
300
- await resumeSync({});
301
- break;
302
- }
128
+ // Handle special inputs (__TOKEN__, __SYNC__, __CONFIG_SAVED__)
129
+ if (await dispatchSpecialInput(input))
303
130
  return;
304
- }
305
- // Handle config saved
306
- if (input === '__CONFIG_SAVED__') {
307
- debugLog(`[processMessage] Received __CONFIG_SAVED__, reloading settings`);
308
- const reloadedSettings = loadSettings();
309
- debugLog(`[processMessage] Reloaded settings: provider=${reloadedSettings.provider}, anthropic.model=${reloadedSettings.anthropic.model}, openai.model=${reloadedSettings.openai.model}`);
310
- const newClient = reconnectClient(reloadedSettings);
311
- debugLog(`[processMessage] Client reconnected: isCloud=${newClient.isCloud}, cloudProvider=${newClient.cloudProvider}`);
312
- if (newClient.isCloud && newClient.cloudProvider) {
313
- const creds = loadCredentials();
314
- // Get the actual model being used based on the cloud provider
315
- let modelInUse;
316
- if (newClient.cloudProvider === 'anthropic') {
317
- modelInUse = reloadedSettings.anthropic.model;
318
- }
319
- else if (newClient.cloudProvider === 'openai') {
320
- modelInUse = reloadedSettings.openai.model;
321
- }
322
- else if (newClient.cloudProvider === 'azure') {
323
- modelInUse = reloadedSettings.azure.deployment;
324
- }
325
- else {
326
- modelInUse = 'unknown';
327
- }
328
- debugLog(`[processMessage] Cloud mode: provider=${newClient.cloudProvider}, model=${modelInUse}`);
329
- if (creds) {
330
- setMessages(prev => [...prev, {
331
- id: getNextId(),
332
- role: 'system',
333
- content: color(`Using cloud: ${creds.user.email} (${newClient.cloudProvider}: ${modelInUse})`, Colors.green),
334
- timestamp: Date.now(),
335
- }]);
336
- }
337
- }
338
- else {
339
- debugLog(`[processMessage] Local mode: provider=${reloadedSettings.provider}`);
340
- setMessages(prev => [...prev, {
341
- id: getNextId(),
342
- role: 'system',
343
- content: color(`Using local provider: ${reloadedSettings.provider}`, Colors.green),
344
- timestamp: Date.now(),
345
- }]);
346
- }
347
- return;
348
- }
349
131
  if (!input.trim())
350
132
  return;
351
133
  // Handle exit commands
@@ -365,12 +147,7 @@ Tip: Ask the AI to "update Orca" and it will handle the deployment update proces
365
147
  const result = await handleCommand(input);
366
148
  if (result.handled) {
367
149
  if (result.output) {
368
- setMessages(prev => [...prev, {
369
- id: getNextId(),
370
- role: 'system',
371
- content: result.output,
372
- timestamp: Date.now(),
373
- }]);
150
+ addSystemMessage(result.output);
374
151
  }
375
152
  return;
376
153
  }
@@ -432,12 +209,7 @@ Tip: Ask the AI to "update Orca" and it will handle the deployment update proces
432
209
  // Check for auto-compaction after updating history
433
210
  if (shouldAutoCompact(result.value)) {
434
211
  const tokenCount = estimateConversationTokens(result.value);
435
- setMessages(prev => [...prev, {
436
- id: getNextId(),
437
- role: 'system',
438
- content: color(`Context limit approaching (~${formatTokenCount(tokenCount)} tokens). Auto-compacting conversation...`, Colors.yellow),
439
- timestamp: Date.now(),
440
- }]);
212
+ addSystemMessage(color(`Context limit approaching (~${formatTokenCount(tokenCount)} tokens). Auto-compacting conversation...`, Colors.yellow));
441
213
  // Trigger auto-compaction after a brief delay to allow UI update
442
214
  setTimeout(() => performCompaction(), 100);
443
215
  }
@@ -448,48 +220,8 @@ Tip: Ask the AI to "update Orca" and it will handle the deployment update proces
448
220
  ? { ...msg, isStreaming: false }
449
221
  : msg);
450
222
  // Auto-save conversation after assistant response completes
451
- // Filter out system messages for storage (keep only user/assistant)
452
- const savableMessages = updatedMessages.filter(m => m.role !== 'system');
453
- if (savableMessages.length > 0 && result.value) {
454
- try {
455
- // Use ref to get current conversation ID (avoids closure stale value issue)
456
- const convId = currentConversationIdRef.current;
457
- debugLog(`[auto-save] convId from ref: ${convId}, savableMessages: ${savableMessages.length}`);
458
- if (convId) {
459
- // Update existing conversation
460
- debugLog(`[auto-save] Updating existing conversation: ${convId}`);
461
- updateConversation(convId, savableMessages, result.value);
462
- }
463
- else {
464
- // Create new conversation
465
- const newConversation = createConversation(savableMessages, result.value);
466
- debugLog(`[auto-save] Creating NEW conversation: ${newConversation.id}`);
467
- saveConversation(newConversation);
468
- // Set both ref and state immediately to prevent race condition
469
- currentConversationIdRef.current = newConversation.id;
470
- setCurrentConversationId(newConversation.id);
471
- // Generate AI title asynchronously in background
472
- // Don't block the user - do it after save completes
473
- setTimeout(async () => {
474
- try {
475
- const aiTitle = await generateAITitle(client, settings, savableMessages);
476
- if (aiTitle) {
477
- updateConversationTitle(newConversation.id, aiTitle);
478
- setConversationTitle(aiTitle); // Update terminal title
479
- debugLog(`[auto-save] AI title generated: "${aiTitle}"`);
480
- }
481
- }
482
- catch (titleError) {
483
- // Silently fail - AI title is non-critical
484
- debugLog(`[auto-save] AI title generation failed: ${titleError}`);
485
- }
486
- }, 100);
487
- }
488
- }
489
- catch (saveError) {
490
- // Silently fail on save errors - don't interrupt user experience
491
- debugLog(`[auto-save] Error saving conversation: ${saveError}`);
492
- }
223
+ if (result.value) {
224
+ autoSave(updatedMessages, result.value);
493
225
  }
494
226
  return updatedMessages;
495
227
  });
@@ -524,7 +256,7 @@ Tip: Ask the AI to "update Orca" and it will handle the deployment update proces
524
256
  setStreamingMessageId(null);
525
257
  abortControllerRef.current = null;
526
258
  }
527
- }, [client, settings, conversationHistory, commandHistory, handleCommand, reconnectClient, exit, performCompaction, approvedCategories]);
259
+ }, [client, settings, conversationHistory, commandHistory, handleCommand, reconnectClient, exit, performCompaction, approvedCategories, dispatchSpecialInput, addSystemMessage, autoSave]);
528
260
  // Handle user input submission - queues messages during streaming
529
261
  const handleSubmit = useCallback(async (input) => {
530
262
  if (!input.trim())
@@ -539,17 +271,12 @@ Tip: Ask the AI to "update Orca" and it will handle the deployment update proces
539
271
  messageQueueRef.current.push(input);
540
272
  setQueueLength(messageQueueRef.current.length);
541
273
  // Add a system message indicating the message was queued
542
- setMessages(prev => [...prev, {
543
- id: getNextId(),
544
- role: 'system',
545
- content: color(`[Queued for next iteration] "${input.length > 50 ? input.slice(0, 50) + '...' : input}"`, Colors.dim),
546
- timestamp: Date.now(),
547
- }]);
274
+ addSystemMessage(color(`[Queued for next iteration] "${input.length > 50 ? input.slice(0, 50) + '...' : input}"`, Colors.dim));
548
275
  return;
549
276
  }
550
277
  // Not streaming - process immediately
551
278
  await processMessage(input);
552
- }, [isStreaming, processMessage]);
279
+ }, [isStreaming, processMessage, addSystemMessage]);
553
280
  // Handle confirmation dialog result
554
281
  const handleConfirmationResult = useCallback((result) => {
555
282
  if (!confirmationResolverRef.current)
@@ -587,40 +314,24 @@ Tip: Ask the AI to "update Orca" and it will handle the deployment update proces
587
314
  }, []);
588
315
  // Handle resuming a conversation from the ResumeMenu
589
316
  const handleResumeConversation = useCallback((conversationId) => {
590
- const conversation = loadConversation(conversationId);
591
- if (!conversation) {
592
- setMessages(prev => [...prev, {
593
- id: getNextId(),
594
- role: 'system',
595
- content: color('Failed to load conversation.', Colors.red),
596
- timestamp: Date.now(),
597
- }]);
317
+ const data = handleResume(conversationId);
318
+ if (!data) {
319
+ addSystemMessage(color('Failed to load conversation.', Colors.red));
598
320
  return;
599
321
  }
600
322
  // Clear the terminal screen before showing resumed conversation
601
- // This prevents old content from mixing with resumed content
602
323
  process.stdout.write('\x1B[2J\x1B[0;0H');
603
- // Reassign message IDs so Ink's Static component treats them as new
604
- // (Static only renders items it hasn't seen before based on key)
605
- const messagesWithNewIds = conversation.messages.map(msg => ({
606
- ...msg,
607
- id: getNextId(),
608
- }));
609
324
  // Restore the conversation state
610
- setMessages(messagesWithNewIds);
611
- setConversationHistory(conversation.conversationHistory);
612
- currentConversationIdRef.current = conversation.id; // Set ref
613
- setCurrentConversationId(conversation.id);
614
- // Update terminal title to reflect the resumed conversation
615
- setConversationTitle(conversation.title);
325
+ setMessages(data.messages);
326
+ setConversationHistory(data.conversationHistory);
616
327
  // Add a system message indicating the conversation was resumed
617
328
  setMessages(prev => [...prev, {
618
329
  id: getNextId(),
619
330
  role: 'system',
620
- content: color(`Resumed conversation: "${conversation.title}"`, Colors.dim),
331
+ content: color(`Resumed conversation: "${data.title}"`, Colors.dim),
621
332
  timestamp: Date.now(),
622
333
  }]);
623
- }, []);
334
+ }, [handleResume, addSystemMessage]);
624
335
  // Handle Escape key to interrupt streaming (only when not showing confirmation)
625
336
  useInput((input, key) => {
626
337
  if (key.escape && isStreaming && abortControllerRef.current && !pendingConfirmation) {
@@ -643,6 +354,6 @@ Tip: Ask the AI to "update Orca" and it will handle the deployment update proces
643
354
  // Split messages into completed (for Static) and streaming (rendered dynamically)
644
355
  const completedMessages = messages.filter(m => !m.isStreaming);
645
356
  const streamingMessage = messages.find(m => m.isStreaming);
646
- return (_jsxs(Box, { flexDirection: "column", width: "100%", children: [_jsx(Static, { items: completedMessages, children: renderMessage }), streamingMessage && (_jsxs(Box, { flexDirection: "column", marginBottom: 1, children: [_jsx(Text, { color: "blue", bold: true, children: "Assistant: " }), streamingMessage.content ? (_jsx(Text, { children: streamingMessage.content })) : (_jsx(Text, { dimColor: true, children: settings.streaming !== false ? 'Thinking...' : 'Generating response...' }))] })), isStreaming && queueLength > 0 && (_jsx(Box, { marginBottom: 1, children: _jsxs(Text, { dimColor: true, children: ["(", queueLength, " message", queueLength > 1 ? 's' : '', " queued)"] }) })), pendingConfirmation && (_jsx(CommandConfirmation, { isOpen: true, command: pendingConfirmation.command, gist: pendingConfirmation.gist, risks: pendingConfirmation.dangerCheck.matches, riskLevel: pendingConfirmation.dangerCheck.highestRisk || 'moderate', approvedCategories: approvedCategories, onConfirm: handleConfirmationResult, onCancel: handleConfirmationCancel })), _jsx(InputFooter, { onSubmit: handleSubmit, history: commandHistory, isDisabled: isStreaming || isCompacting || !!pendingConfirmation, settings: settings, onResumeConversation: handleResumeConversation })] }));
357
+ return (_jsxs(Box, { flexDirection: "column", width: "100%", children: [_jsx(Static, { items: completedMessages, children: renderMessage }), streamingMessage && (_jsxs(Box, { flexDirection: "column", marginBottom: 1, children: [_jsx(Text, { color: "blue", bold: true, children: "Assistant: " }), streamingMessage.content ? (_jsx(Text, { children: streamingMessage.content })) : (_jsx(Text, { dimColor: true, children: settings.streaming !== false ? 'Thinking...' : 'Generating response...' }))] })), isStreaming && queueLength > 0 && (_jsx(Box, { marginBottom: 1, children: _jsxs(Text, { dimColor: true, children: ["(", queueLength, " message", queueLength > 1 ? 's' : '', " queued)"] }) })), pendingConfirmation && (_jsx(CommandConfirmation, { isOpen: true, command: pendingConfirmation.command, gist: pendingConfirmation.gist, risks: pendingConfirmation.dangerCheck.matches, riskLevel: pendingConfirmation.dangerCheck.highestRisk || 'moderate', approvedCategories: approvedCategories, onConfirm: handleConfirmationResult, onCancel: handleConfirmationCancel })), _jsx(InputFooter, { onSubmit: handleSubmit, history: commandHistory, isDisabled: isStreaming || isCompacting || !!pendingConfirmation, settings: settings, onResumeConversation: handleResumeConversation, fetchSolutions: fetchSolutions, fetchUsers: fetchUsers, fetchFolders: fetchFolders, fetchOrganizations: fetchOrganizations, userRole: userRole })] }));
647
358
  }
648
359
  //# sourceMappingURL=ChatApp.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ChatApp.js","sourceRoot":"","sources":["../../src/components/ChatApp.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ChatApp.js","sourceRoot":"","sources":["../../src/components/ChatApp.tsx"],"names":[],"mappings":"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"}
@@ -7,6 +7,28 @@ interface InputFooterProps {
7
7
  settings?: Settings;
8
8
  /** Called when user selects a conversation to resume */
9
9
  onResumeConversation?: (conversationId: string) => void;
10
+ /** Sync menu data fetchers */
11
+ fetchSolutions?: (orgId?: string) => Promise<{
12
+ id: string;
13
+ name: string;
14
+ }[]>;
15
+ fetchUsers?: (orgId?: string) => Promise<{
16
+ id: string;
17
+ email: string;
18
+ isCurrentUser: boolean;
19
+ }[]>;
20
+ fetchFolders?: (userId: string, orgId?: string) => Promise<{
21
+ path: string;
22
+ solutionCount: number;
23
+ }[]>;
24
+ /** Organization fetcher for super_admin org picker */
25
+ fetchOrganizations?: () => Promise<{
26
+ id: string;
27
+ name: string;
28
+ isCurrent: boolean;
29
+ }[]>;
30
+ /** User role from credentials */
31
+ userRole?: string;
10
32
  }
11
33
  /**
12
34
  * InputFooter - Persistent input component for the chat footer.
@@ -30,6 +52,6 @@ interface InputFooterProps {
30
52
  * - Escape: Close command palette (during streaming, parent handles interrupt)
31
53
  * - Ctrl+C: Exit
32
54
  */
33
- export declare function InputFooter({ onSubmit, history, isDisabled, settings, onResumeConversation, }: InputFooterProps): React.ReactElement;
55
+ export declare function InputFooter({ onSubmit, history, isDisabled, settings, onResumeConversation, fetchSolutions, fetchUsers, fetchFolders, fetchOrganizations, userRole, }: InputFooterProps): React.ReactElement;
34
56
  export {};
35
57
  //# sourceMappingURL=InputFooter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"InputFooter.d.ts","sourceRoot":"","sources":["../../src/components/InputFooter.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAoD,MAAM,OAAO,CAAC;AAYzE,OAAO,EAAE,QAAQ,EAAwD,MAAM,gBAAgB,CAAC;AAOhG,UAAU,gBAAgB;IACxB,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,wDAAwD;IACxD,oBAAoB,CAAC,EAAE,CAAC,cAAc,EAAE,MAAM,KAAK,IAAI,CAAC;CACzD;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,WAAW,CAAC,EAC1B,QAAQ,EACR,OAAY,EACZ,UAAkB,EAClB,QAAQ,EACR,oBAAoB,GACrB,EAAE,gBAAgB,GAAG,KAAK,CAAC,YAAY,CAw1BvC"}
1
+ {"version":3,"file":"InputFooter.d.ts","sourceRoot":"","sources":["../../src/components/InputFooter.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAoD,MAAM,OAAO,CAAC;AAYzE,OAAO,EAAE,QAAQ,EAAwD,MAAM,gBAAgB,CAAC;AAOhG,UAAU,gBAAgB;IACxB,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,wDAAwD;IACxD,oBAAoB,CAAC,EAAE,CAAC,cAAc,EAAE,MAAM,KAAK,IAAI,CAAC;IACxD,8BAA8B;IAC9B,cAAc,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC,CAAC;IAC7E,UAAU,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,OAAO,CAAA;KAAE,EAAE,CAAC,CAAC;IAClG,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC,CAAC;IACtG,sDAAsD;IACtD,kBAAkB,CAAC,EAAE,MAAM,OAAO,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,OAAO,CAAA;KAAE,EAAE,CAAC,CAAC;IACvF,iCAAiC;IACjC,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,WAAW,CAAC,EAC1B,QAAQ,EACR,OAAY,EACZ,UAAkB,EAClB,QAAQ,EACR,oBAAoB,EACpB,cAAc,EACd,UAAU,EACV,YAAY,EACZ,kBAAkB,EAClB,QAAQ,GACT,EAAE,gBAAgB,GAAG,KAAK,CAAC,YAAY,CAi2BvC"}