@syntero/orca-cli 1.1.15 → 1.1.17
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/assistant.d.ts +41 -3
- package/dist/assistant.d.ts.map +1 -1
- package/dist/assistant.js +143 -16
- package/dist/assistant.js.map +1 -1
- package/dist/autocomplete.d.ts.map +1 -1
- package/dist/autocomplete.js +2 -0
- package/dist/autocomplete.js.map +1 -1
- package/dist/components/ChatApp.d.ts.map +1 -1
- package/dist/components/ChatApp.js +172 -9
- package/dist/components/ChatApp.js.map +1 -1
- package/dist/components/CommandConfirmation.d.ts +44 -0
- package/dist/components/CommandConfirmation.d.ts.map +1 -0
- package/dist/components/CommandConfirmation.js +184 -0
- package/dist/components/CommandConfirmation.js.map +1 -0
- package/dist/components/InputFooter.d.ts +3 -1
- package/dist/components/InputFooter.d.ts.map +1 -1
- package/dist/components/InputFooter.js +44 -2
- package/dist/components/InputFooter.js.map +1 -1
- package/dist/components/ResumeMenu.d.ts +23 -0
- package/dist/components/ResumeMenu.d.ts.map +1 -0
- package/dist/components/ResumeMenu.js +134 -0
- package/dist/components/ResumeMenu.js.map +1 -0
- package/dist/confirmation/index.d.ts +8 -0
- package/dist/confirmation/index.d.ts.map +1 -0
- package/dist/confirmation/index.js +8 -0
- package/dist/confirmation/index.js.map +1 -0
- package/dist/confirmation/patterns.d.ts +58 -0
- package/dist/confirmation/patterns.d.ts.map +1 -0
- package/dist/confirmation/patterns.js +107 -0
- package/dist/confirmation/patterns.js.map +1 -0
- package/dist/conversations/index.d.ts +8 -0
- package/dist/conversations/index.d.ts.map +1 -0
- package/dist/conversations/index.js +8 -0
- package/dist/conversations/index.js.map +1 -0
- package/dist/conversations/storage.d.ts +80 -0
- package/dist/conversations/storage.d.ts.map +1 -0
- package/dist/conversations/storage.js +296 -0
- package/dist/conversations/storage.js.map +1 -0
- package/dist/conversations/types.d.ts +50 -0
- package/dist/conversations/types.d.ts.map +1 -0
- package/dist/conversations/types.js +5 -0
- package/dist/conversations/types.js.map +1 -0
- package/dist/index.js +4 -0
- package/dist/index.js.map +1 -1
- package/dist/terminalTitle.d.ts +28 -0
- package/dist/terminalTitle.d.ts.map +1 -0
- package/dist/terminalTitle.js +70 -0
- package/dist/terminalTitle.js.map +1 -0
- package/dist/tools.d.ts +6 -0
- package/dist/tools.d.ts.map +1 -1
- package/dist/tools.js +7 -6
- package/dist/tools.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Conversation storage functions.
|
|
3
|
+
*
|
|
4
|
+
* Handles persisting and loading conversations from ~/.orca/conversations/
|
|
5
|
+
*/
|
|
6
|
+
import type { ChatMessage } from '../components/ChatApp.js';
|
|
7
|
+
import type { AnthropicMessage } from '../assistant.js';
|
|
8
|
+
import type { Conversation, ConversationMeta, ConversationsIndex } from './types.js';
|
|
9
|
+
/**
|
|
10
|
+
* Ensure the conversations directory exists.
|
|
11
|
+
*/
|
|
12
|
+
export declare function ensureConversationsDir(): void;
|
|
13
|
+
/**
|
|
14
|
+
* Load the conversations index from disk.
|
|
15
|
+
* Returns an empty index if file doesn't exist or is corrupted.
|
|
16
|
+
*/
|
|
17
|
+
export declare function loadIndex(): ConversationsIndex;
|
|
18
|
+
/**
|
|
19
|
+
* Save the conversations index to disk.
|
|
20
|
+
*/
|
|
21
|
+
export declare function saveIndex(index: ConversationsIndex): void;
|
|
22
|
+
/**
|
|
23
|
+
* Generate a title from the first user message.
|
|
24
|
+
* Takes first 50 chars, cuts at word boundary, appends "..." if truncated.
|
|
25
|
+
*/
|
|
26
|
+
export declare function generateTitle(firstMessage: string): string;
|
|
27
|
+
/**
|
|
28
|
+
* Generate a preview from the first user message.
|
|
29
|
+
* Takes first 50 chars for display.
|
|
30
|
+
*/
|
|
31
|
+
export declare function generatePreview(firstMessage: string): string;
|
|
32
|
+
/**
|
|
33
|
+
* Create a new conversation from messages.
|
|
34
|
+
*/
|
|
35
|
+
export declare function createConversation(messages: ChatMessage[], conversationHistory: AnthropicMessage[]): Conversation;
|
|
36
|
+
/**
|
|
37
|
+
* Save a conversation to disk (creates or updates).
|
|
38
|
+
* Also updates the index with metadata.
|
|
39
|
+
*/
|
|
40
|
+
export declare function saveConversation(conversation: Conversation): void;
|
|
41
|
+
/**
|
|
42
|
+
* Load a conversation by ID.
|
|
43
|
+
* Returns null if not found or corrupted.
|
|
44
|
+
*/
|
|
45
|
+
export declare function loadConversation(id: string): Conversation | null;
|
|
46
|
+
/**
|
|
47
|
+
* List all conversations from the index.
|
|
48
|
+
* Returns sorted by updatedAt descending (most recent first).
|
|
49
|
+
*/
|
|
50
|
+
export declare function listConversations(): ConversationMeta[];
|
|
51
|
+
/**
|
|
52
|
+
* Delete a conversation by ID.
|
|
53
|
+
* Returns true if deleted, false if not found.
|
|
54
|
+
*/
|
|
55
|
+
export declare function deleteConversation(id: string): boolean;
|
|
56
|
+
/**
|
|
57
|
+
* Update an existing conversation with new messages.
|
|
58
|
+
* Updates the updatedAt timestamp.
|
|
59
|
+
*/
|
|
60
|
+
export declare function updateConversation(id: string, messages: ChatMessage[], conversationHistory: AnthropicMessage[]): void;
|
|
61
|
+
/**
|
|
62
|
+
* Rename an existing conversation.
|
|
63
|
+
* Updates the title in both the conversation file and the index.
|
|
64
|
+
*
|
|
65
|
+
* @param id - The conversation ID
|
|
66
|
+
* @param newTitle - The new title for the conversation
|
|
67
|
+
* @returns true if renamed successfully, false if conversation not found
|
|
68
|
+
*/
|
|
69
|
+
export declare function renameConversation(id: string, newTitle: string): boolean;
|
|
70
|
+
/**
|
|
71
|
+
* Update the title of a conversation.
|
|
72
|
+
* This is a lower-level function that only updates the title without changing updatedAt.
|
|
73
|
+
* Used for background AI title updates.
|
|
74
|
+
*
|
|
75
|
+
* @param id - The conversation ID
|
|
76
|
+
* @param newTitle - The new title for the conversation
|
|
77
|
+
* @returns true if updated successfully, false if conversation not found
|
|
78
|
+
*/
|
|
79
|
+
export declare function updateConversationTitle(id: string, newTitle: string): boolean;
|
|
80
|
+
//# sourceMappingURL=storage.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../../src/conversations/storage.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,KAAK,EAAE,YAAY,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAkBrF;;GAEG;AACH,wBAAgB,sBAAsB,IAAI,IAAI,CAO7C;AAED;;;GAGG;AACH,wBAAgB,SAAS,IAAI,kBAAkB,CAa9C;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,kBAAkB,GAAG,IAAI,CAQzD;AASD;;;GAGG;AACH,wBAAgB,aAAa,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAiB1D;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAS5D;AAUD;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,WAAW,EAAE,EACvB,mBAAmB,EAAE,gBAAgB,EAAE,GACtC,YAAY,CAYd;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,YAAY,EAAE,YAAY,GAAG,IAAI,CAkDjE;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,MAAM,GAAG,YAAY,GAAG,IAAI,CAoBhE;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,IAAI,gBAAgB,EAAE,CAItD;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAuBtD;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAChC,EAAE,EAAE,MAAM,EACV,QAAQ,EAAE,WAAW,EAAE,EACvB,mBAAmB,EAAE,gBAAgB,EAAE,GACtC,IAAI,CAkBN;AAED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAexE;AAED;;;;;;;;GAQG;AACH,wBAAgB,uBAAuB,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAc7E"}
|
|
@@ -0,0 +1,296 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Conversation storage functions.
|
|
3
|
+
*
|
|
4
|
+
* Handles persisting and loading conversations from ~/.orca/conversations/
|
|
5
|
+
*/
|
|
6
|
+
import * as fs from 'fs';
|
|
7
|
+
import * as path from 'path';
|
|
8
|
+
import * as os from 'os';
|
|
9
|
+
import * as crypto from 'crypto';
|
|
10
|
+
// Storage paths
|
|
11
|
+
const ORCA_DIR = path.join(os.homedir(), '.orca');
|
|
12
|
+
const CONVERSATIONS_DIR = path.join(ORCA_DIR, 'conversations');
|
|
13
|
+
const INDEX_FILE = path.join(CONVERSATIONS_DIR, 'index.json');
|
|
14
|
+
// Constants
|
|
15
|
+
const MAX_CONVERSATIONS = 50;
|
|
16
|
+
const CURRENT_VERSION = 1;
|
|
17
|
+
/**
|
|
18
|
+
* Generate a UUID v4 using crypto.
|
|
19
|
+
*/
|
|
20
|
+
function generateUUID() {
|
|
21
|
+
return crypto.randomUUID();
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Ensure the conversations directory exists.
|
|
25
|
+
*/
|
|
26
|
+
export function ensureConversationsDir() {
|
|
27
|
+
if (!fs.existsSync(ORCA_DIR)) {
|
|
28
|
+
fs.mkdirSync(ORCA_DIR, { mode: 0o700 });
|
|
29
|
+
}
|
|
30
|
+
if (!fs.existsSync(CONVERSATIONS_DIR)) {
|
|
31
|
+
fs.mkdirSync(CONVERSATIONS_DIR, { mode: 0o700 });
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Load the conversations index from disk.
|
|
36
|
+
* Returns an empty index if file doesn't exist or is corrupted.
|
|
37
|
+
*/
|
|
38
|
+
export function loadIndex() {
|
|
39
|
+
try {
|
|
40
|
+
if (fs.existsSync(INDEX_FILE)) {
|
|
41
|
+
const data = JSON.parse(fs.readFileSync(INDEX_FILE, 'utf-8'));
|
|
42
|
+
// Validate basic structure
|
|
43
|
+
if (data && typeof data.version === 'number' && Array.isArray(data.conversations)) {
|
|
44
|
+
return data;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
catch {
|
|
49
|
+
// If corrupted, return empty index
|
|
50
|
+
}
|
|
51
|
+
return { version: CURRENT_VERSION, conversations: [] };
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Save the conversations index to disk.
|
|
55
|
+
*/
|
|
56
|
+
export function saveIndex(index) {
|
|
57
|
+
ensureConversationsDir();
|
|
58
|
+
fs.writeFileSync(INDEX_FILE, JSON.stringify(index, null, 2));
|
|
59
|
+
try {
|
|
60
|
+
fs.chmodSync(INDEX_FILE, 0o600);
|
|
61
|
+
}
|
|
62
|
+
catch {
|
|
63
|
+
// Ignore chmod errors on Windows
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Get the file path for a conversation.
|
|
68
|
+
*/
|
|
69
|
+
function getConversationPath(id) {
|
|
70
|
+
return path.join(CONVERSATIONS_DIR, `conv_${id}.json`);
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Generate a title from the first user message.
|
|
74
|
+
* Takes first 50 chars, cuts at word boundary, appends "..." if truncated.
|
|
75
|
+
*/
|
|
76
|
+
export function generateTitle(firstMessage) {
|
|
77
|
+
const maxLength = 50;
|
|
78
|
+
const cleaned = firstMessage.trim().replace(/\n/g, ' ').replace(/\s+/g, ' ');
|
|
79
|
+
if (cleaned.length <= maxLength) {
|
|
80
|
+
return cleaned;
|
|
81
|
+
}
|
|
82
|
+
// Find the last space before maxLength
|
|
83
|
+
const truncated = cleaned.slice(0, maxLength);
|
|
84
|
+
const lastSpace = truncated.lastIndexOf(' ');
|
|
85
|
+
if (lastSpace > maxLength / 2) {
|
|
86
|
+
return truncated.slice(0, lastSpace) + '...';
|
|
87
|
+
}
|
|
88
|
+
return truncated + '...';
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* Generate a preview from the first user message.
|
|
92
|
+
* Takes first 50 chars for display.
|
|
93
|
+
*/
|
|
94
|
+
export function generatePreview(firstMessage) {
|
|
95
|
+
const maxLength = 50;
|
|
96
|
+
const cleaned = firstMessage.trim().replace(/\n/g, ' ').replace(/\s+/g, ' ');
|
|
97
|
+
if (cleaned.length <= maxLength) {
|
|
98
|
+
return cleaned;
|
|
99
|
+
}
|
|
100
|
+
return cleaned.slice(0, maxLength) + '...';
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* Find the first user message in the messages array.
|
|
104
|
+
*/
|
|
105
|
+
function findFirstUserMessage(messages) {
|
|
106
|
+
const userMsg = messages.find(m => m.role === 'user');
|
|
107
|
+
return userMsg?.content || 'Untitled conversation';
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* Create a new conversation from messages.
|
|
111
|
+
*/
|
|
112
|
+
export function createConversation(messages, conversationHistory) {
|
|
113
|
+
const now = Date.now();
|
|
114
|
+
const firstMessage = findFirstUserMessage(messages);
|
|
115
|
+
return {
|
|
116
|
+
id: generateUUID(),
|
|
117
|
+
title: generateTitle(firstMessage),
|
|
118
|
+
createdAt: now,
|
|
119
|
+
updatedAt: now,
|
|
120
|
+
messages,
|
|
121
|
+
conversationHistory,
|
|
122
|
+
};
|
|
123
|
+
}
|
|
124
|
+
/**
|
|
125
|
+
* Save a conversation to disk (creates or updates).
|
|
126
|
+
* Also updates the index with metadata.
|
|
127
|
+
*/
|
|
128
|
+
export function saveConversation(conversation) {
|
|
129
|
+
ensureConversationsDir();
|
|
130
|
+
// Save the full conversation file
|
|
131
|
+
const filePath = getConversationPath(conversation.id);
|
|
132
|
+
fs.writeFileSync(filePath, JSON.stringify(conversation, null, 2));
|
|
133
|
+
try {
|
|
134
|
+
fs.chmodSync(filePath, 0o600);
|
|
135
|
+
}
|
|
136
|
+
catch {
|
|
137
|
+
// Ignore chmod errors on Windows
|
|
138
|
+
}
|
|
139
|
+
// Update the index
|
|
140
|
+
const index = loadIndex();
|
|
141
|
+
// Create metadata
|
|
142
|
+
const meta = {
|
|
143
|
+
id: conversation.id,
|
|
144
|
+
title: conversation.title,
|
|
145
|
+
createdAt: conversation.createdAt,
|
|
146
|
+
updatedAt: conversation.updatedAt,
|
|
147
|
+
messageCount: conversation.messages.length,
|
|
148
|
+
preview: generatePreview(findFirstUserMessage(conversation.messages)),
|
|
149
|
+
};
|
|
150
|
+
// Remove existing entry if present
|
|
151
|
+
index.conversations = index.conversations.filter(c => c.id !== conversation.id);
|
|
152
|
+
// Add new/updated entry at the beginning
|
|
153
|
+
index.conversations.unshift(meta);
|
|
154
|
+
// Enforce max conversations limit
|
|
155
|
+
if (index.conversations.length > MAX_CONVERSATIONS) {
|
|
156
|
+
const toRemove = index.conversations.slice(MAX_CONVERSATIONS);
|
|
157
|
+
index.conversations = index.conversations.slice(0, MAX_CONVERSATIONS);
|
|
158
|
+
// Delete old conversation files
|
|
159
|
+
for (const old of toRemove) {
|
|
160
|
+
try {
|
|
161
|
+
const oldPath = getConversationPath(old.id);
|
|
162
|
+
if (fs.existsSync(oldPath)) {
|
|
163
|
+
fs.unlinkSync(oldPath);
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
catch {
|
|
167
|
+
// Ignore deletion errors
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
saveIndex(index);
|
|
172
|
+
}
|
|
173
|
+
/**
|
|
174
|
+
* Load a conversation by ID.
|
|
175
|
+
* Returns null if not found or corrupted.
|
|
176
|
+
*/
|
|
177
|
+
export function loadConversation(id) {
|
|
178
|
+
try {
|
|
179
|
+
const filePath = getConversationPath(id);
|
|
180
|
+
if (fs.existsSync(filePath)) {
|
|
181
|
+
const data = JSON.parse(fs.readFileSync(filePath, 'utf-8'));
|
|
182
|
+
// Validate basic structure
|
|
183
|
+
if (data &&
|
|
184
|
+
typeof data.id === 'string' &&
|
|
185
|
+
typeof data.title === 'string' &&
|
|
186
|
+
Array.isArray(data.messages) &&
|
|
187
|
+
Array.isArray(data.conversationHistory)) {
|
|
188
|
+
return data;
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
catch {
|
|
193
|
+
// If corrupted, return null
|
|
194
|
+
}
|
|
195
|
+
return null;
|
|
196
|
+
}
|
|
197
|
+
/**
|
|
198
|
+
* List all conversations from the index.
|
|
199
|
+
* Returns sorted by updatedAt descending (most recent first).
|
|
200
|
+
*/
|
|
201
|
+
export function listConversations() {
|
|
202
|
+
const index = loadIndex();
|
|
203
|
+
// Sort by updatedAt descending
|
|
204
|
+
return [...index.conversations].sort((a, b) => b.updatedAt - a.updatedAt);
|
|
205
|
+
}
|
|
206
|
+
/**
|
|
207
|
+
* Delete a conversation by ID.
|
|
208
|
+
* Returns true if deleted, false if not found.
|
|
209
|
+
*/
|
|
210
|
+
export function deleteConversation(id) {
|
|
211
|
+
// Remove from index
|
|
212
|
+
const index = loadIndex();
|
|
213
|
+
const originalLength = index.conversations.length;
|
|
214
|
+
index.conversations = index.conversations.filter(c => c.id !== id);
|
|
215
|
+
if (index.conversations.length === originalLength) {
|
|
216
|
+
return false; // Not found in index
|
|
217
|
+
}
|
|
218
|
+
saveIndex(index);
|
|
219
|
+
// Delete the conversation file
|
|
220
|
+
try {
|
|
221
|
+
const filePath = getConversationPath(id);
|
|
222
|
+
if (fs.existsSync(filePath)) {
|
|
223
|
+
fs.unlinkSync(filePath);
|
|
224
|
+
}
|
|
225
|
+
}
|
|
226
|
+
catch {
|
|
227
|
+
// Ignore deletion errors
|
|
228
|
+
}
|
|
229
|
+
return true;
|
|
230
|
+
}
|
|
231
|
+
/**
|
|
232
|
+
* Update an existing conversation with new messages.
|
|
233
|
+
* Updates the updatedAt timestamp.
|
|
234
|
+
*/
|
|
235
|
+
export function updateConversation(id, messages, conversationHistory) {
|
|
236
|
+
const existing = loadConversation(id);
|
|
237
|
+
if (!existing) {
|
|
238
|
+
// If conversation doesn't exist, create a new one
|
|
239
|
+
const newConv = createConversation(messages, conversationHistory);
|
|
240
|
+
saveConversation({ ...newConv, id }); // Use the provided ID
|
|
241
|
+
return;
|
|
242
|
+
}
|
|
243
|
+
// Update the conversation
|
|
244
|
+
const updated = {
|
|
245
|
+
...existing,
|
|
246
|
+
messages,
|
|
247
|
+
conversationHistory,
|
|
248
|
+
updatedAt: Date.now(),
|
|
249
|
+
};
|
|
250
|
+
saveConversation(updated);
|
|
251
|
+
}
|
|
252
|
+
/**
|
|
253
|
+
* Rename an existing conversation.
|
|
254
|
+
* Updates the title in both the conversation file and the index.
|
|
255
|
+
*
|
|
256
|
+
* @param id - The conversation ID
|
|
257
|
+
* @param newTitle - The new title for the conversation
|
|
258
|
+
* @returns true if renamed successfully, false if conversation not found
|
|
259
|
+
*/
|
|
260
|
+
export function renameConversation(id, newTitle) {
|
|
261
|
+
const conversation = loadConversation(id);
|
|
262
|
+
if (!conversation) {
|
|
263
|
+
return false;
|
|
264
|
+
}
|
|
265
|
+
// Update the conversation with new title
|
|
266
|
+
const updated = {
|
|
267
|
+
...conversation,
|
|
268
|
+
title: newTitle,
|
|
269
|
+
updatedAt: Date.now(),
|
|
270
|
+
};
|
|
271
|
+
saveConversation(updated);
|
|
272
|
+
return true;
|
|
273
|
+
}
|
|
274
|
+
/**
|
|
275
|
+
* Update the title of a conversation.
|
|
276
|
+
* This is a lower-level function that only updates the title without changing updatedAt.
|
|
277
|
+
* Used for background AI title updates.
|
|
278
|
+
*
|
|
279
|
+
* @param id - The conversation ID
|
|
280
|
+
* @param newTitle - The new title for the conversation
|
|
281
|
+
* @returns true if updated successfully, false if conversation not found
|
|
282
|
+
*/
|
|
283
|
+
export function updateConversationTitle(id, newTitle) {
|
|
284
|
+
const conversation = loadConversation(id);
|
|
285
|
+
if (!conversation) {
|
|
286
|
+
return false;
|
|
287
|
+
}
|
|
288
|
+
// Update only the title, preserve updatedAt
|
|
289
|
+
const updated = {
|
|
290
|
+
...conversation,
|
|
291
|
+
title: newTitle,
|
|
292
|
+
};
|
|
293
|
+
saveConversation(updated);
|
|
294
|
+
return true;
|
|
295
|
+
}
|
|
296
|
+
//# sourceMappingURL=storage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"storage.js","sourceRoot":"","sources":["../../src/conversations/storage.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Types for conversation persistence.
|
|
3
|
+
*/
|
|
4
|
+
import type { ChatMessage } from '../components/ChatApp.js';
|
|
5
|
+
import type { AnthropicMessage } from '../assistant.js';
|
|
6
|
+
/**
|
|
7
|
+
* Metadata for a conversation, stored in the index file.
|
|
8
|
+
* Contains only the information needed for listing and display.
|
|
9
|
+
*/
|
|
10
|
+
export interface ConversationMeta {
|
|
11
|
+
/** Unique identifier (UUID) */
|
|
12
|
+
id: string;
|
|
13
|
+
/** Auto-generated title from first user message */
|
|
14
|
+
title: string;
|
|
15
|
+
/** Unix timestamp when created */
|
|
16
|
+
createdAt: number;
|
|
17
|
+
/** Unix timestamp when last updated */
|
|
18
|
+
updatedAt: number;
|
|
19
|
+
/** Number of messages for display */
|
|
20
|
+
messageCount: number;
|
|
21
|
+
/** First ~50 chars of first user message for preview */
|
|
22
|
+
preview: string;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Full conversation data, stored in individual files.
|
|
26
|
+
*/
|
|
27
|
+
export interface Conversation {
|
|
28
|
+
/** Unique identifier (UUID) */
|
|
29
|
+
id: string;
|
|
30
|
+
/** Auto-generated title from first user message */
|
|
31
|
+
title: string;
|
|
32
|
+
/** Unix timestamp when created */
|
|
33
|
+
createdAt: number;
|
|
34
|
+
/** Unix timestamp when last updated */
|
|
35
|
+
updatedAt: number;
|
|
36
|
+
/** UI messages array from ChatApp */
|
|
37
|
+
messages: ChatMessage[];
|
|
38
|
+
/** API format messages for context */
|
|
39
|
+
conversationHistory: AnthropicMessage[];
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Index file structure containing metadata for all conversations.
|
|
43
|
+
*/
|
|
44
|
+
export interface ConversationsIndex {
|
|
45
|
+
/** Schema version for future migrations */
|
|
46
|
+
version: number;
|
|
47
|
+
/** Array of conversation metadata, sorted by updatedAt desc */
|
|
48
|
+
conversations: ConversationMeta[];
|
|
49
|
+
}
|
|
50
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/conversations/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAExD;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B,+BAA+B;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,mDAAmD;IACnD,KAAK,EAAE,MAAM,CAAC;IACd,kCAAkC;IAClC,SAAS,EAAE,MAAM,CAAC;IAClB,uCAAuC;IACvC,SAAS,EAAE,MAAM,CAAC;IAClB,qCAAqC;IACrC,YAAY,EAAE,MAAM,CAAC;IACrB,wDAAwD;IACxD,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,+BAA+B;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,mDAAmD;IACnD,KAAK,EAAE,MAAM,CAAC;IACd,kCAAkC;IAClC,SAAS,EAAE,MAAM,CAAC;IAClB,uCAAuC;IACvC,SAAS,EAAE,MAAM,CAAC;IAClB,qCAAqC;IACrC,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,sCAAsC;IACtC,mBAAmB,EAAE,gBAAgB,EAAE,CAAC;CACzC;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,2CAA2C;IAC3C,OAAO,EAAE,MAAM,CAAC;IAChB,+DAA+D;IAC/D,aAAa,EAAE,gBAAgB,EAAE,CAAC;CACnC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/conversations/types.ts"],"names":[],"mappings":"AAAA;;GAEG"}
|
package/dist/index.js
CHANGED
|
@@ -10,6 +10,7 @@ import { runAssistant } from './assistant.js';
|
|
|
10
10
|
import { Colors, color } from './utils.js';
|
|
11
11
|
import { isAuthenticated, loadCredentials, getSelectedCloudProvider, } from './auth.js';
|
|
12
12
|
import { ChatApp } from './components/ChatApp.js';
|
|
13
|
+
import { setupTerminalTitleCleanup, resetTerminalTitle } from './terminalTitle.js';
|
|
13
14
|
// Debug logging to file
|
|
14
15
|
import * as fs from 'fs';
|
|
15
16
|
import * as path from 'path';
|
|
@@ -287,6 +288,9 @@ function createClient(settings) {
|
|
|
287
288
|
* Run in interactive conversation mode using the persistent ChatApp.
|
|
288
289
|
*/
|
|
289
290
|
async function interactiveMode(settings) {
|
|
291
|
+
// Initialize terminal title management
|
|
292
|
+
setupTerminalTitleCleanup();
|
|
293
|
+
resetTerminalTitle(); // Set initial "Orca" title
|
|
290
294
|
console.log(color('\nOrca Deployment Assistant', Colors.bold));
|
|
291
295
|
console.log(color('='.repeat(40), Colors.dim));
|
|
292
296
|
// Show authentication status
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Terminal title management.
|
|
3
|
+
* Sets the terminal tab/window title using OSC escape sequences.
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Set the terminal title.
|
|
7
|
+
* Uses OSC 0 escape sequence (sets both tab and window title).
|
|
8
|
+
*/
|
|
9
|
+
export declare function setTerminalTitle(title: string): void;
|
|
10
|
+
/**
|
|
11
|
+
* Set title with app prefix.
|
|
12
|
+
* e.g., "Orca - My Conversation Title"
|
|
13
|
+
*/
|
|
14
|
+
export declare function setConversationTitle(conversationTitle: string): void;
|
|
15
|
+
/**
|
|
16
|
+
* Reset to default app title.
|
|
17
|
+
*/
|
|
18
|
+
export declare function resetTerminalTitle(): void;
|
|
19
|
+
/**
|
|
20
|
+
* Clear terminal title (restore terminal default).
|
|
21
|
+
*/
|
|
22
|
+
export declare function clearTerminalTitle(): void;
|
|
23
|
+
/**
|
|
24
|
+
* Setup cleanup handlers to restore title on exit.
|
|
25
|
+
* Call this once at app startup.
|
|
26
|
+
*/
|
|
27
|
+
export declare function setupTerminalTitleCleanup(): void;
|
|
28
|
+
//# sourceMappingURL=terminalTitle.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"terminalTitle.d.ts","sourceRoot":"","sources":["../src/terminalTitle.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAeH;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAOpD;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAEpE;AAED;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,IAAI,CAEzC;AAED;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,IAAI,CAOzC;AAED;;;GAGG;AACH,wBAAgB,yBAAyB,IAAI,IAAI,CAYhD"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Terminal title management.
|
|
3
|
+
* Sets the terminal tab/window title using OSC escape sequences.
|
|
4
|
+
*/
|
|
5
|
+
const APP_NAME = 'Orca';
|
|
6
|
+
/**
|
|
7
|
+
* Check if terminal supports title changes.
|
|
8
|
+
*/
|
|
9
|
+
function isSupported() {
|
|
10
|
+
return (process.stdout.isTTY === true &&
|
|
11
|
+
process.env.TERM !== 'dumb' &&
|
|
12
|
+
!process.env.NO_COLORS);
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Set the terminal title.
|
|
16
|
+
* Uses OSC 0 escape sequence (sets both tab and window title).
|
|
17
|
+
*/
|
|
18
|
+
export function setTerminalTitle(title) {
|
|
19
|
+
if (!isSupported())
|
|
20
|
+
return;
|
|
21
|
+
try {
|
|
22
|
+
process.stdout.write(`\x1b]0;${title}\x07`);
|
|
23
|
+
}
|
|
24
|
+
catch {
|
|
25
|
+
// Silent fail - title is not critical
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Set title with app prefix.
|
|
30
|
+
* e.g., "Orca - My Conversation Title"
|
|
31
|
+
*/
|
|
32
|
+
export function setConversationTitle(conversationTitle) {
|
|
33
|
+
setTerminalTitle(`${APP_NAME} - ${conversationTitle}`);
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Reset to default app title.
|
|
37
|
+
*/
|
|
38
|
+
export function resetTerminalTitle() {
|
|
39
|
+
setTerminalTitle(APP_NAME);
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Clear terminal title (restore terminal default).
|
|
43
|
+
*/
|
|
44
|
+
export function clearTerminalTitle() {
|
|
45
|
+
if (!isSupported())
|
|
46
|
+
return;
|
|
47
|
+
try {
|
|
48
|
+
process.stdout.write(`\x1b]0;\x07`);
|
|
49
|
+
}
|
|
50
|
+
catch {
|
|
51
|
+
// Silent fail
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Setup cleanup handlers to restore title on exit.
|
|
56
|
+
* Call this once at app startup.
|
|
57
|
+
*/
|
|
58
|
+
export function setupTerminalTitleCleanup() {
|
|
59
|
+
const cleanup = () => clearTerminalTitle();
|
|
60
|
+
process.on('exit', cleanup);
|
|
61
|
+
process.on('SIGINT', () => {
|
|
62
|
+
cleanup();
|
|
63
|
+
process.exit(0);
|
|
64
|
+
});
|
|
65
|
+
process.on('SIGTERM', () => {
|
|
66
|
+
cleanup();
|
|
67
|
+
process.exit(0);
|
|
68
|
+
});
|
|
69
|
+
}
|
|
70
|
+
//# sourceMappingURL=terminalTitle.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"terminalTitle.js","sourceRoot":"","sources":["../src/terminalTitle.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,QAAQ,GAAG,MAAM,CAAC;AAExB;;GAEG;AACH,SAAS,WAAW;IAClB,OAAO,CACL,OAAO,CAAC,MAAM,CAAC,KAAK,KAAK,IAAI;QAC7B,OAAO,CAAC,GAAG,CAAC,IAAI,KAAK,MAAM;QAC3B,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CACvB,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAAC,KAAa;IAC5C,IAAI,CAAC,WAAW,EAAE;QAAE,OAAO;IAC3B,IAAI,CAAC;QACH,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,KAAK,MAAM,CAAC,CAAC;IAC9C,CAAC;IAAC,MAAM,CAAC;QACP,sCAAsC;IACxC,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,oBAAoB,CAAC,iBAAyB;IAC5D,gBAAgB,CAAC,GAAG,QAAQ,MAAM,iBAAiB,EAAE,CAAC,CAAC;AACzD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB;IAChC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;AAC7B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB;IAChC,IAAI,CAAC,WAAW,EAAE;QAAE,OAAO;IAC3B,IAAI,CAAC;QACH,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;IACtC,CAAC;IAAC,MAAM,CAAC;QACP,cAAc;IAChB,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,yBAAyB;IACvC,MAAM,OAAO,GAAG,GAAG,EAAE,CAAC,kBAAkB,EAAE,CAAC;IAE3C,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC5B,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE;QACxB,OAAO,EAAE,CAAC;QACV,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;IACH,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE;QACzB,OAAO,EAAE,CAAC;QACV,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;AACL,CAAC"}
|