cursor-history 0.8.0 → 0.9.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/README.md +66 -7
- package/dist/cli/commands/export.js +6 -6
- package/dist/cli/commands/export.js.map +1 -1
- package/dist/cli/commands/list.js +2 -2
- package/dist/cli/commands/list.js.map +1 -1
- package/dist/cli/commands/migrate-session.js +2 -2
- package/dist/cli/commands/migrate-session.js.map +1 -1
- package/dist/cli/commands/migrate.js +1 -1
- package/dist/cli/commands/migrate.js.map +1 -1
- package/dist/cli/commands/search.js +1 -1
- package/dist/cli/commands/search.js.map +1 -1
- package/dist/cli/commands/show.js +2 -2
- package/dist/cli/commands/show.js.map +1 -1
- package/dist/core/backup.d.ts +6 -9
- package/dist/core/backup.d.ts.map +1 -1
- package/dist/core/backup.js +48 -30
- package/dist/core/backup.js.map +1 -1
- package/dist/core/database/debug.d.ts +12 -0
- package/dist/core/database/debug.d.ts.map +1 -0
- package/dist/core/database/debug.js +16 -0
- package/dist/core/database/debug.js.map +1 -0
- package/dist/core/database/drivers/better-sqlite3.d.ts +11 -0
- package/dist/core/database/drivers/better-sqlite3.d.ts.map +1 -0
- package/dist/core/database/drivers/better-sqlite3.js +93 -0
- package/dist/core/database/drivers/better-sqlite3.js.map +1 -0
- package/dist/core/database/drivers/node-sqlite.d.ts +15 -0
- package/dist/core/database/drivers/node-sqlite.d.ts.map +1 -0
- package/dist/core/database/drivers/node-sqlite.js +135 -0
- package/dist/core/database/drivers/node-sqlite.js.map +1 -0
- package/dist/core/database/errors.d.ts +24 -0
- package/dist/core/database/errors.d.ts.map +1 -0
- package/dist/core/database/errors.js +38 -0
- package/dist/core/database/errors.js.map +1 -0
- package/dist/core/database/index.d.ts +98 -0
- package/dist/core/database/index.d.ts.map +1 -0
- package/dist/core/database/index.js +125 -0
- package/dist/core/database/index.js.map +1 -0
- package/dist/core/database/registry.d.ts +81 -0
- package/dist/core/database/registry.d.ts.map +1 -0
- package/dist/core/database/registry.js +171 -0
- package/dist/core/database/registry.js.map +1 -0
- package/dist/core/database/types.d.ts +115 -0
- package/dist/core/database/types.d.ts.map +1 -0
- package/dist/core/database/types.js +8 -0
- package/dist/core/database/types.js.map +1 -0
- package/dist/core/migrate.d.ts +3 -3
- package/dist/core/migrate.d.ts.map +1 -1
- package/dist/core/migrate.js +16 -16
- package/dist/core/migrate.js.map +1 -1
- package/dist/core/storage.d.ts +19 -17
- package/dist/core/storage.d.ts.map +1 -1
- package/dist/core/storage.js +39 -34
- package/dist/core/storage.js.map +1 -1
- package/dist/lib/config.d.ts +2 -1
- package/dist/lib/config.d.ts.map +1 -1
- package/dist/lib/config.js +9 -0
- package/dist/lib/config.js.map +1 -1
- package/dist/lib/index.d.ts +63 -31
- package/dist/lib/index.d.ts.map +1 -1
- package/dist/lib/index.js +98 -54
- package/dist/lib/index.js.map +1 -1
- package/dist/lib/types.d.ts +12 -0
- package/dist/lib/types.d.ts.map +1 -1
- package/package.json +1 -1
package/dist/core/migrate.js
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
import { existsSync } from 'node:fs';
|
|
8
8
|
import { join } from 'node:path';
|
|
9
9
|
import { homedir } from 'node:os';
|
|
10
|
-
import
|
|
10
|
+
import BetterSqlite3 from 'better-sqlite3';
|
|
11
11
|
import { findWorkspaceForSession, findWorkspaceByPath, openDatabaseReadWrite, getComposerData, updateComposerData, } from './storage.js';
|
|
12
12
|
import { normalizePath, pathsEqual } from '../lib/platform.js';
|
|
13
13
|
import { SessionNotFoundError, WorkspaceNotFoundError, SameWorkspaceError, NoSessionsFoundError, DestinationHasSessionsError, NestedPathError, } from '../lib/errors.js';
|
|
@@ -241,7 +241,7 @@ function copyBubbleDataInGlobalStorage(oldComposerId, newComposerId, sourceWorks
|
|
|
241
241
|
return new Map();
|
|
242
242
|
}
|
|
243
243
|
const bubbleIdMap = new Map();
|
|
244
|
-
const db = new
|
|
244
|
+
const db = new BetterSqlite3(globalDbPath, { readonly: false });
|
|
245
245
|
// Normalize workspace paths for transformation
|
|
246
246
|
const sourcePrefix = normalizePath(sourceWorkspace).replace(/\/+$/, '');
|
|
247
247
|
const destPrefix = normalizePath(destWorkspace).replace(/\/+$/, '');
|
|
@@ -317,7 +317,7 @@ function updateBubblePathsInGlobalStorage(composerId, sourceWorkspace, destWorks
|
|
|
317
317
|
if (!existsSync(globalDbPath)) {
|
|
318
318
|
return;
|
|
319
319
|
}
|
|
320
|
-
const db = new
|
|
320
|
+
const db = new BetterSqlite3(globalDbPath, { readonly: false });
|
|
321
321
|
// Normalize workspace paths for transformation
|
|
322
322
|
const sourcePrefix = normalizePath(sourceWorkspace).replace(/\/+$/, '');
|
|
323
323
|
const destPrefix = normalizePath(destWorkspace).replace(/\/+$/, '');
|
|
@@ -354,13 +354,13 @@ function updateBubblePathsInGlobalStorage(composerId, sourceWorkspace, destWorks
|
|
|
354
354
|
* @param options - Migration options
|
|
355
355
|
* @returns Migration result for this session
|
|
356
356
|
*/
|
|
357
|
-
export function migrateSession(sessionId, options) {
|
|
357
|
+
export async function migrateSession(sessionId, options) {
|
|
358
358
|
const { destination, mode, dryRun, dataPath, debug = false } = options;
|
|
359
359
|
// Note: force option is used at the CLI layer for validation, not in core migration
|
|
360
360
|
// Normalize destination path
|
|
361
361
|
const normalizedDest = normalizePath(destination);
|
|
362
362
|
// Find source workspace for this session
|
|
363
|
-
const sourceInfo = findWorkspaceForSession(sessionId, dataPath);
|
|
363
|
+
const sourceInfo = await findWorkspaceForSession(sessionId, dataPath);
|
|
364
364
|
if (!sourceInfo) {
|
|
365
365
|
throw new SessionNotFoundError(sessionId);
|
|
366
366
|
}
|
|
@@ -374,7 +374,7 @@ export function migrateSession(sessionId, options) {
|
|
|
374
374
|
throw new NestedPathError(sourceWorkspace, normalizedDest);
|
|
375
375
|
}
|
|
376
376
|
// Find destination workspace
|
|
377
|
-
const destInfo = findWorkspaceByPath(normalizedDest, dataPath);
|
|
377
|
+
const destInfo = await findWorkspaceByPath(normalizedDest, dataPath);
|
|
378
378
|
if (!destInfo) {
|
|
379
379
|
throw new WorkspaceNotFoundError(normalizedDest);
|
|
380
380
|
}
|
|
@@ -393,8 +393,8 @@ export function migrateSession(sessionId, options) {
|
|
|
393
393
|
// Perform the actual migration
|
|
394
394
|
try {
|
|
395
395
|
// Open both databases for read-write
|
|
396
|
-
const sourceDb = openDatabaseReadWrite(sourceInfo.dbPath);
|
|
397
|
-
const destDb = openDatabaseReadWrite(destInfo.dbPath);
|
|
396
|
+
const sourceDb = await openDatabaseReadWrite(sourceInfo.dbPath);
|
|
397
|
+
const destDb = await openDatabaseReadWrite(destInfo.dbPath);
|
|
398
398
|
try {
|
|
399
399
|
// Get composer data from both workspaces
|
|
400
400
|
const sourceResult = getComposerData(sourceDb);
|
|
@@ -480,12 +480,12 @@ export function migrateSession(sessionId, options) {
|
|
|
480
480
|
* @param options - Migration options including session IDs
|
|
481
481
|
* @returns Array of results for each session
|
|
482
482
|
*/
|
|
483
|
-
export function migrateSessions(options) {
|
|
483
|
+
export async function migrateSessions(options) {
|
|
484
484
|
const { sessionIds, ...sessionOptions } = options;
|
|
485
485
|
const results = [];
|
|
486
486
|
for (const sessionId of sessionIds) {
|
|
487
487
|
try {
|
|
488
|
-
const result = migrateSession(sessionId, sessionOptions);
|
|
488
|
+
const result = await migrateSession(sessionId, sessionOptions);
|
|
489
489
|
results.push(result);
|
|
490
490
|
}
|
|
491
491
|
catch (error) {
|
|
@@ -512,7 +512,7 @@ export function migrateSessions(options) {
|
|
|
512
512
|
* @param options - Workspace migration options
|
|
513
513
|
* @returns Aggregate result with per-session details
|
|
514
514
|
*/
|
|
515
|
-
export function migrateWorkspace(options) {
|
|
515
|
+
export async function migrateWorkspace(options) {
|
|
516
516
|
const { source, destination, mode, dryRun, force, dataPath, debug = false } = options;
|
|
517
517
|
// Normalize paths
|
|
518
518
|
const normalizedSource = normalizePath(source);
|
|
@@ -526,17 +526,17 @@ export function migrateWorkspace(options) {
|
|
|
526
526
|
throw new NestedPathError(normalizedSource, normalizedDest);
|
|
527
527
|
}
|
|
528
528
|
// Find source workspace
|
|
529
|
-
const sourceInfo = findWorkspaceByPath(normalizedSource, dataPath);
|
|
529
|
+
const sourceInfo = await findWorkspaceByPath(normalizedSource, dataPath);
|
|
530
530
|
if (!sourceInfo) {
|
|
531
531
|
throw new WorkspaceNotFoundError(normalizedSource);
|
|
532
532
|
}
|
|
533
533
|
// Find destination workspace
|
|
534
|
-
const destInfo = findWorkspaceByPath(normalizedDest, dataPath);
|
|
534
|
+
const destInfo = await findWorkspaceByPath(normalizedDest, dataPath);
|
|
535
535
|
if (!destInfo) {
|
|
536
536
|
throw new WorkspaceNotFoundError(normalizedDest);
|
|
537
537
|
}
|
|
538
538
|
// Get sessions from source workspace
|
|
539
|
-
const sourceDb = openDatabaseReadWrite(sourceInfo.dbPath);
|
|
539
|
+
const sourceDb = await openDatabaseReadWrite(sourceInfo.dbPath);
|
|
540
540
|
const sourceResult = getComposerData(sourceDb);
|
|
541
541
|
sourceDb.close();
|
|
542
542
|
if (!sourceResult || sourceResult.composers.length === 0) {
|
|
@@ -544,7 +544,7 @@ export function migrateWorkspace(options) {
|
|
|
544
544
|
}
|
|
545
545
|
// Check if destination has existing sessions (unless force is set)
|
|
546
546
|
if (!force) {
|
|
547
|
-
const destDb = openDatabaseReadWrite(destInfo.dbPath);
|
|
547
|
+
const destDb = await openDatabaseReadWrite(destInfo.dbPath);
|
|
548
548
|
const destResult = getComposerData(destDb);
|
|
549
549
|
destDb.close();
|
|
550
550
|
if (destResult && destResult.composers.length > 0) {
|
|
@@ -559,7 +559,7 @@ export function migrateWorkspace(options) {
|
|
|
559
559
|
throw new NoSessionsFoundError(normalizedSource);
|
|
560
560
|
}
|
|
561
561
|
// Migrate all sessions
|
|
562
|
-
const results = migrateSessions({
|
|
562
|
+
const results = await migrateSessions({
|
|
563
563
|
sessionIds,
|
|
564
564
|
destination: normalizedDest,
|
|
565
565
|
mode,
|
package/dist/core/migrate.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"migrate.js","sourceRoot":"","sources":["../../src/core/migrate.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"migrate.js","sourceRoot":"","sources":["../../src/core/migrate.ts"],"names":[],"mappings":"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"}
|
package/dist/core/storage.d.ts
CHANGED
|
@@ -1,17 +1,19 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Storage discovery and database access for Cursor chat history
|
|
3
3
|
*/
|
|
4
|
-
import Database from '
|
|
4
|
+
import { type Database } from './database/index.js';
|
|
5
5
|
import type { Workspace, ChatSession, ChatSessionSummary, ListOptions, SearchOptions, SearchResult } from './types.js';
|
|
6
6
|
/**
|
|
7
7
|
* Open a SQLite database file (read-only)
|
|
8
|
+
* @deprecated Use openDatabaseAsync for new code
|
|
8
9
|
*/
|
|
9
|
-
export declare function openDatabase(dbPath: string): Database
|
|
10
|
+
export declare function openDatabase(dbPath: string): Promise<Database>;
|
|
10
11
|
/**
|
|
11
12
|
* Open a SQLite database file for read-write operations
|
|
12
13
|
* IMPORTANT: Only use for migration operations. Requires Cursor to be closed.
|
|
14
|
+
* @deprecated Use openDatabaseReadWriteAsync for new code
|
|
13
15
|
*/
|
|
14
|
-
export declare function openDatabaseReadWrite(dbPath: string): Database
|
|
16
|
+
export declare function openDatabaseReadWrite(dbPath: string): Promise<Database>;
|
|
15
17
|
/**
|
|
16
18
|
* Read workspace.json to get the original workspace path
|
|
17
19
|
*/
|
|
@@ -21,7 +23,7 @@ export declare function readWorkspaceJson(workspaceDir: string): string | null;
|
|
|
21
23
|
* @param customDataPath - Custom Cursor data path (for live data)
|
|
22
24
|
* @param backupPath - Path to backup zip file (if reading from backup)
|
|
23
25
|
*/
|
|
24
|
-
export declare function findWorkspaces(customDataPath?: string, backupPath?: string): Workspace[]
|
|
26
|
+
export declare function findWorkspaces(customDataPath?: string, backupPath?: string): Promise<Workspace[]>;
|
|
25
27
|
/**
|
|
26
28
|
* List chat sessions with optional filtering
|
|
27
29
|
* Uses workspace storage for listing (has correct paths and complete list)
|
|
@@ -29,13 +31,13 @@ export declare function findWorkspaces(customDataPath?: string, backupPath?: str
|
|
|
29
31
|
* @param customDataPath - Custom Cursor data path (for live data)
|
|
30
32
|
* @param backupPath - Path to backup zip file (if reading from backup)
|
|
31
33
|
*/
|
|
32
|
-
export declare function listSessions(options: ListOptions, customDataPath?: string, backupPath?: string): ChatSessionSummary[]
|
|
34
|
+
export declare function listSessions(options: ListOptions, customDataPath?: string, backupPath?: string): Promise<ChatSessionSummary[]>;
|
|
33
35
|
/**
|
|
34
36
|
* List all workspaces with chat history
|
|
35
37
|
* @param customDataPath - Custom Cursor data path (for live data)
|
|
36
38
|
* @param backupPath - Path to backup zip file (if reading from backup)
|
|
37
39
|
*/
|
|
38
|
-
export declare function listWorkspaces(customDataPath?: string, backupPath?: string): Workspace[]
|
|
40
|
+
export declare function listWorkspaces(customDataPath?: string, backupPath?: string): Promise<Workspace[]>;
|
|
39
41
|
/**
|
|
40
42
|
* Get a specific session by index
|
|
41
43
|
* Tries global storage first for complete AI responses, falls back to workspace storage
|
|
@@ -43,7 +45,7 @@ export declare function listWorkspaces(customDataPath?: string, backupPath?: str
|
|
|
43
45
|
* @param customDataPath - Custom Cursor data path (for live data)
|
|
44
46
|
* @param backupPath - Path to backup zip file (if reading from backup)
|
|
45
47
|
*/
|
|
46
|
-
export declare function getSession(index: number, customDataPath?: string, backupPath?: string): ChatSession | null
|
|
48
|
+
export declare function getSession(index: number, customDataPath?: string, backupPath?: string): Promise<ChatSession | null>;
|
|
47
49
|
/**
|
|
48
50
|
* Search across all chat sessions
|
|
49
51
|
* @param query - Search query string
|
|
@@ -51,32 +53,32 @@ export declare function getSession(index: number, customDataPath?: string, backu
|
|
|
51
53
|
* @param customDataPath - Custom Cursor data path (for live data)
|
|
52
54
|
* @param backupPath - Path to backup zip file (if reading from backup)
|
|
53
55
|
*/
|
|
54
|
-
export declare function searchSessions(query: string, options: SearchOptions, customDataPath?: string, backupPath?: string): SearchResult[]
|
|
56
|
+
export declare function searchSessions(query: string, options: SearchOptions, customDataPath?: string, backupPath?: string): Promise<SearchResult[]>;
|
|
55
57
|
/**
|
|
56
58
|
* List sessions from global Cursor storage (cursorDiskKV table)
|
|
57
59
|
* This is where Cursor stores full conversation data including AI responses
|
|
58
60
|
*/
|
|
59
|
-
export declare function listGlobalSessions(): ChatSessionSummary[]
|
|
61
|
+
export declare function listGlobalSessions(): Promise<ChatSessionSummary[]>;
|
|
60
62
|
/**
|
|
61
63
|
* Get a session from global storage by index
|
|
62
64
|
*/
|
|
63
|
-
export declare function getGlobalSession(index: number): ChatSession | null
|
|
65
|
+
export declare function getGlobalSession(index: number): Promise<ChatSession | null>;
|
|
64
66
|
/**
|
|
65
67
|
* Find the workspace that contains a specific session by ID
|
|
66
68
|
* Returns workspace info including the dbPath for read-write access
|
|
67
69
|
*/
|
|
68
|
-
export declare function findWorkspaceForSession(sessionId: string, customDataPath?: string): {
|
|
70
|
+
export declare function findWorkspaceForSession(sessionId: string, customDataPath?: string): Promise<{
|
|
69
71
|
workspace: Workspace;
|
|
70
72
|
dbPath: string;
|
|
71
|
-
} | null
|
|
73
|
+
} | null>;
|
|
72
74
|
/**
|
|
73
75
|
* Find a workspace by its path (exact match)
|
|
74
76
|
* Returns workspace info including the dbPath
|
|
75
77
|
*/
|
|
76
|
-
export declare function findWorkspaceByPath(workspacePath: string, customDataPath?: string): {
|
|
78
|
+
export declare function findWorkspaceByPath(workspacePath: string, customDataPath?: string): Promise<{
|
|
77
79
|
workspace: Workspace;
|
|
78
80
|
dbPath: string;
|
|
79
|
-
} | null
|
|
81
|
+
} | null>;
|
|
80
82
|
/**
|
|
81
83
|
* Result from getComposerData containing both raw data and extracted composers
|
|
82
84
|
*/
|
|
@@ -95,12 +97,12 @@ export interface ComposerDataResult {
|
|
|
95
97
|
* Get the composer data from a workspace database
|
|
96
98
|
* Handles both new format (with allComposers) and legacy format (direct array)
|
|
97
99
|
*/
|
|
98
|
-
export declare function getComposerData(db: Database
|
|
100
|
+
export declare function getComposerData(db: Database): ComposerDataResult | null;
|
|
99
101
|
/**
|
|
100
102
|
* Update the composer data in a workspace database
|
|
101
103
|
* Preserves the original structure (allComposers wrapper or direct array)
|
|
102
104
|
*/
|
|
103
|
-
export declare function updateComposerData(db: Database
|
|
105
|
+
export declare function updateComposerData(db: Database, composers: Array<{
|
|
104
106
|
composerId?: string;
|
|
105
107
|
[key: string]: unknown;
|
|
106
108
|
}>, isNewFormat: boolean, originalRawData?: unknown): void;
|
|
@@ -113,5 +115,5 @@ export declare function updateComposerData(db: Database.Database, composers: Arr
|
|
|
113
115
|
* @returns Array of resolved session IDs
|
|
114
116
|
* @throws SessionNotFoundError if any identifier cannot be resolved
|
|
115
117
|
*/
|
|
116
|
-
export declare function resolveSessionIdentifiers(input: string | number | (string | number)[], customDataPath?: string): string[]
|
|
118
|
+
export declare function resolveSessionIdentifiers(input: string | number | (string | number)[], customDataPath?: string): Promise<string[]>;
|
|
117
119
|
//# sourceMappingURL=storage.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../../src/core/storage.ts"],"names":[],"mappings":"AAAA;;GAEG;
|
|
1
|
+
{"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../../src/core/storage.ts"],"names":[],"mappings":"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"}
|
package/dist/core/storage.js
CHANGED
|
@@ -4,8 +4,8 @@
|
|
|
4
4
|
import { existsSync, readdirSync, readFileSync } from 'node:fs';
|
|
5
5
|
import { join } from 'node:path';
|
|
6
6
|
import { homedir } from 'node:os';
|
|
7
|
-
import Database from 'better-sqlite3';
|
|
8
7
|
import AdmZip from 'adm-zip';
|
|
8
|
+
import { openDatabase as openDatabaseAsync, openDatabaseReadWrite as openDatabaseReadWriteAsync, ensureDriver, } from './database/index.js';
|
|
9
9
|
import { getCursorDataPath, contractPath, normalizePath, pathsEqual } from '../lib/platform.js';
|
|
10
10
|
import { SessionNotFoundError } from '../lib/errors.js';
|
|
11
11
|
import { parseChatData, getSearchSnippets } from './parser.js';
|
|
@@ -41,16 +41,18 @@ function getGlobalStoragePath() {
|
|
|
41
41
|
}
|
|
42
42
|
/**
|
|
43
43
|
* Open a SQLite database file (read-only)
|
|
44
|
+
* @deprecated Use openDatabaseAsync for new code
|
|
44
45
|
*/
|
|
45
|
-
export function openDatabase(dbPath) {
|
|
46
|
-
return
|
|
46
|
+
export async function openDatabase(dbPath) {
|
|
47
|
+
return openDatabaseAsync(dbPath);
|
|
47
48
|
}
|
|
48
49
|
/**
|
|
49
50
|
* Open a SQLite database file for read-write operations
|
|
50
51
|
* IMPORTANT: Only use for migration operations. Requires Cursor to be closed.
|
|
52
|
+
* @deprecated Use openDatabaseReadWriteAsync for new code
|
|
51
53
|
*/
|
|
52
|
-
export function openDatabaseReadWrite(dbPath) {
|
|
53
|
-
return
|
|
54
|
+
export async function openDatabaseReadWrite(dbPath) {
|
|
55
|
+
return openDatabaseReadWriteAsync(dbPath);
|
|
54
56
|
}
|
|
55
57
|
// ============================================================================
|
|
56
58
|
// Backup Data Source (T027)
|
|
@@ -80,12 +82,15 @@ function readWorkspaceJsonFromBackup(backupPath, workspaceId) {
|
|
|
80
82
|
}
|
|
81
83
|
/**
|
|
82
84
|
* Find workspaces from a backup file
|
|
85
|
+
* Note: This is async to ensure driver auto-selection happens first
|
|
83
86
|
*/
|
|
84
|
-
function findWorkspacesFromBackup(backupPath) {
|
|
87
|
+
async function findWorkspacesFromBackup(backupPath) {
|
|
85
88
|
const manifest = readBackupManifest(backupPath);
|
|
86
89
|
if (!manifest) {
|
|
87
90
|
return [];
|
|
88
91
|
}
|
|
92
|
+
// Ensure driver is selected before proceeding (needed for openBackupDatabase's openSync)
|
|
93
|
+
await ensureDriver();
|
|
89
94
|
const workspaces = [];
|
|
90
95
|
// Find all workspace databases
|
|
91
96
|
for (const file of manifest.files) {
|
|
@@ -149,10 +154,10 @@ export function readWorkspaceJson(workspaceDir) {
|
|
|
149
154
|
* @param customDataPath - Custom Cursor data path (for live data)
|
|
150
155
|
* @param backupPath - Path to backup zip file (if reading from backup)
|
|
151
156
|
*/
|
|
152
|
-
export function findWorkspaces(customDataPath, backupPath) {
|
|
157
|
+
export async function findWorkspaces(customDataPath, backupPath) {
|
|
153
158
|
// T028: Support reading from backup
|
|
154
159
|
if (backupPath) {
|
|
155
|
-
return findWorkspacesFromBackup(backupPath);
|
|
160
|
+
return await findWorkspacesFromBackup(backupPath);
|
|
156
161
|
}
|
|
157
162
|
const basePath = getCursorDataPath(customDataPath);
|
|
158
163
|
if (!existsSync(basePath)) {
|
|
@@ -174,7 +179,7 @@ export function findWorkspaces(customDataPath, backupPath) {
|
|
|
174
179
|
// Count sessions in this workspace
|
|
175
180
|
let sessionCount = 0;
|
|
176
181
|
try {
|
|
177
|
-
const db = openDatabase(dbPath);
|
|
182
|
+
const db = await openDatabase(dbPath);
|
|
178
183
|
const result = getChatDataFromDb(db);
|
|
179
184
|
if (result) {
|
|
180
185
|
const parsed = parseChatData(result.data, result.bundle);
|
|
@@ -255,9 +260,9 @@ function getChatDataFromDb(db) {
|
|
|
255
260
|
* @param customDataPath - Custom Cursor data path (for live data)
|
|
256
261
|
* @param backupPath - Path to backup zip file (if reading from backup)
|
|
257
262
|
*/
|
|
258
|
-
export function listSessions(options, customDataPath, backupPath) {
|
|
263
|
+
export async function listSessions(options, customDataPath, backupPath) {
|
|
259
264
|
// T029: Support reading from backup
|
|
260
|
-
const workspaces = findWorkspaces(customDataPath, backupPath);
|
|
265
|
+
const workspaces = await findWorkspaces(customDataPath, backupPath);
|
|
261
266
|
// Filter by workspace if specified
|
|
262
267
|
const filteredWorkspaces = options.workspacePath
|
|
263
268
|
? workspaces.filter((w) => w.path === options.workspacePath || w.path.endsWith(options.workspacePath ?? ''))
|
|
@@ -268,7 +273,7 @@ export function listSessions(options, customDataPath, backupPath) {
|
|
|
268
273
|
// Open database from live or backup source
|
|
269
274
|
const db = backupPath
|
|
270
275
|
? openBackupDatabase(backupPath, workspace.dbPath)
|
|
271
|
-
: openDatabase(workspace.dbPath);
|
|
276
|
+
: await openDatabase(workspace.dbPath);
|
|
272
277
|
const result = getChatDataFromDb(db);
|
|
273
278
|
db.close();
|
|
274
279
|
if (!result)
|
|
@@ -309,8 +314,8 @@ export function listSessions(options, customDataPath, backupPath) {
|
|
|
309
314
|
* @param customDataPath - Custom Cursor data path (for live data)
|
|
310
315
|
* @param backupPath - Path to backup zip file (if reading from backup)
|
|
311
316
|
*/
|
|
312
|
-
export function listWorkspaces(customDataPath, backupPath) {
|
|
313
|
-
const workspaces = findWorkspaces(customDataPath, backupPath);
|
|
317
|
+
export async function listWorkspaces(customDataPath, backupPath) {
|
|
318
|
+
const workspaces = await findWorkspaces(customDataPath, backupPath);
|
|
314
319
|
// Sort by session count descending
|
|
315
320
|
workspaces.sort((a, b) => b.sessionCount - a.sessionCount);
|
|
316
321
|
return workspaces.map((w) => ({
|
|
@@ -325,9 +330,9 @@ export function listWorkspaces(customDataPath, backupPath) {
|
|
|
325
330
|
* @param customDataPath - Custom Cursor data path (for live data)
|
|
326
331
|
* @param backupPath - Path to backup zip file (if reading from backup)
|
|
327
332
|
*/
|
|
328
|
-
export function getSession(index, customDataPath, backupPath) {
|
|
333
|
+
export async function getSession(index, customDataPath, backupPath) {
|
|
329
334
|
// T030: Support reading from backup
|
|
330
|
-
const summaries = listSessions({ limit: 0, all: true }, customDataPath, backupPath);
|
|
335
|
+
const summaries = await listSessions({ limit: 0, all: true }, customDataPath, backupPath);
|
|
331
336
|
const summary = summaries.find((s) => s.index === index);
|
|
332
337
|
if (!summary) {
|
|
333
338
|
return null;
|
|
@@ -351,7 +356,7 @@ export function getSession(index, customDataPath, backupPath) {
|
|
|
351
356
|
const globalPath = getGlobalStoragePath();
|
|
352
357
|
const globalDbPath = join(globalPath, 'state.vscdb');
|
|
353
358
|
if (existsSync(globalDbPath)) {
|
|
354
|
-
db = openDatabase(globalDbPath);
|
|
359
|
+
db = await openDatabase(globalDbPath);
|
|
355
360
|
}
|
|
356
361
|
}
|
|
357
362
|
if (db) {
|
|
@@ -405,7 +410,7 @@ export function getSession(index, customDataPath, backupPath) {
|
|
|
405
410
|
// Fall through to workspace storage
|
|
406
411
|
}
|
|
407
412
|
// Fall back to workspace storage (or use backup for backup mode)
|
|
408
|
-
const workspaces = findWorkspaces(customDataPath, backupPath);
|
|
413
|
+
const workspaces = await findWorkspaces(customDataPath, backupPath);
|
|
409
414
|
const workspace = workspaces.find((w) => w.id === summary.workspaceId);
|
|
410
415
|
if (!workspace) {
|
|
411
416
|
return null;
|
|
@@ -414,7 +419,7 @@ export function getSession(index, customDataPath, backupPath) {
|
|
|
414
419
|
// Open database from live or backup source
|
|
415
420
|
const db = backupPath
|
|
416
421
|
? openBackupDatabase(backupPath, workspace.dbPath)
|
|
417
|
-
: openDatabase(workspace.dbPath);
|
|
422
|
+
: await openDatabase(workspace.dbPath);
|
|
418
423
|
const result = getChatDataFromDb(db);
|
|
419
424
|
db.close();
|
|
420
425
|
if (!result)
|
|
@@ -441,13 +446,13 @@ export function getSession(index, customDataPath, backupPath) {
|
|
|
441
446
|
* @param customDataPath - Custom Cursor data path (for live data)
|
|
442
447
|
* @param backupPath - Path to backup zip file (if reading from backup)
|
|
443
448
|
*/
|
|
444
|
-
export function searchSessions(query, options, customDataPath, backupPath) {
|
|
449
|
+
export async function searchSessions(query, options, customDataPath, backupPath) {
|
|
445
450
|
// T031: Support reading from backup
|
|
446
|
-
const summaries = listSessions({ limit: 0, all: true, workspacePath: options.workspacePath }, customDataPath, backupPath);
|
|
451
|
+
const summaries = await listSessions({ limit: 0, all: true, workspacePath: options.workspacePath }, customDataPath, backupPath);
|
|
447
452
|
const results = [];
|
|
448
453
|
const lowerQuery = query.toLowerCase();
|
|
449
454
|
for (const summary of summaries) {
|
|
450
|
-
const session = getSession(summary.index, customDataPath, backupPath);
|
|
455
|
+
const session = await getSession(summary.index, customDataPath, backupPath);
|
|
451
456
|
if (!session)
|
|
452
457
|
continue;
|
|
453
458
|
const snippets = getSearchSnippets(session.messages, lowerQuery, options.contextChars);
|
|
@@ -475,14 +480,14 @@ export function searchSessions(query, options, customDataPath, backupPath) {
|
|
|
475
480
|
* List sessions from global Cursor storage (cursorDiskKV table)
|
|
476
481
|
* This is where Cursor stores full conversation data including AI responses
|
|
477
482
|
*/
|
|
478
|
-
export function listGlobalSessions() {
|
|
483
|
+
export async function listGlobalSessions() {
|
|
479
484
|
const globalPath = getGlobalStoragePath();
|
|
480
485
|
const dbPath = join(globalPath, 'state.vscdb');
|
|
481
486
|
if (!existsSync(dbPath)) {
|
|
482
487
|
return [];
|
|
483
488
|
}
|
|
484
489
|
try {
|
|
485
|
-
const db = openDatabase(dbPath);
|
|
490
|
+
const db = await openDatabase(dbPath);
|
|
486
491
|
// Check if cursorDiskKV table exists
|
|
487
492
|
const tableCheck = db.prepare("SELECT name FROM sqlite_master WHERE type='table' AND name='cursorDiskKV'").get();
|
|
488
493
|
if (!tableCheck) {
|
|
@@ -554,8 +559,8 @@ export function listGlobalSessions() {
|
|
|
554
559
|
/**
|
|
555
560
|
* Get a session from global storage by index
|
|
556
561
|
*/
|
|
557
|
-
export function getGlobalSession(index) {
|
|
558
|
-
const summaries = listGlobalSessions();
|
|
562
|
+
export async function getGlobalSession(index) {
|
|
563
|
+
const summaries = await listGlobalSessions();
|
|
559
564
|
const summary = summaries.find((s) => s.index === index);
|
|
560
565
|
if (!summary) {
|
|
561
566
|
return null;
|
|
@@ -563,7 +568,7 @@ export function getGlobalSession(index) {
|
|
|
563
568
|
const globalPath = getGlobalStoragePath();
|
|
564
569
|
const dbPath = join(globalPath, 'state.vscdb');
|
|
565
570
|
try {
|
|
566
|
-
const db = openDatabase(dbPath);
|
|
571
|
+
const db = await openDatabase(dbPath);
|
|
567
572
|
// Get all bubbles for this composer
|
|
568
573
|
const bubbleRows = db
|
|
569
574
|
.prepare("SELECT key, value FROM cursorDiskKV WHERE key LIKE ? ORDER BY rowid ASC")
|
|
@@ -999,11 +1004,11 @@ function extractBubbleText(data) {
|
|
|
999
1004
|
* Find the workspace that contains a specific session by ID
|
|
1000
1005
|
* Returns workspace info including the dbPath for read-write access
|
|
1001
1006
|
*/
|
|
1002
|
-
export function findWorkspaceForSession(sessionId, customDataPath) {
|
|
1003
|
-
const workspaces = findWorkspaces(customDataPath);
|
|
1007
|
+
export async function findWorkspaceForSession(sessionId, customDataPath) {
|
|
1008
|
+
const workspaces = await findWorkspaces(customDataPath);
|
|
1004
1009
|
for (const workspace of workspaces) {
|
|
1005
1010
|
try {
|
|
1006
|
-
const db = openDatabase(workspace.dbPath);
|
|
1011
|
+
const db = await openDatabase(workspace.dbPath);
|
|
1007
1012
|
const result = getChatDataFromDb(db);
|
|
1008
1013
|
db.close();
|
|
1009
1014
|
if (!result)
|
|
@@ -1036,8 +1041,8 @@ export function findWorkspaceForSession(sessionId, customDataPath) {
|
|
|
1036
1041
|
* Find a workspace by its path (exact match)
|
|
1037
1042
|
* Returns workspace info including the dbPath
|
|
1038
1043
|
*/
|
|
1039
|
-
export function findWorkspaceByPath(workspacePath, customDataPath) {
|
|
1040
|
-
const workspaces = findWorkspaces(customDataPath);
|
|
1044
|
+
export async function findWorkspaceByPath(workspacePath, customDataPath) {
|
|
1045
|
+
const workspaces = await findWorkspaces(customDataPath);
|
|
1041
1046
|
// Normalize path for comparison
|
|
1042
1047
|
const normalizedPath = normalizePath(workspacePath);
|
|
1043
1048
|
for (const workspace of workspaces) {
|
|
@@ -1112,7 +1117,7 @@ export function updateComposerData(db, composers, isNewFormat, originalRawData)
|
|
|
1112
1117
|
* @returns Array of resolved session IDs
|
|
1113
1118
|
* @throws SessionNotFoundError if any identifier cannot be resolved
|
|
1114
1119
|
*/
|
|
1115
|
-
export function resolveSessionIdentifiers(input, customDataPath) {
|
|
1120
|
+
export async function resolveSessionIdentifiers(input, customDataPath) {
|
|
1116
1121
|
// Normalize input to array
|
|
1117
1122
|
let identifiers;
|
|
1118
1123
|
if (Array.isArray(input)) {
|
|
@@ -1126,7 +1131,7 @@ export function resolveSessionIdentifiers(input, customDataPath) {
|
|
|
1126
1131
|
identifiers = [input];
|
|
1127
1132
|
}
|
|
1128
1133
|
// Get all sessions for lookup
|
|
1129
|
-
const summaries = listSessions({ limit: 0, all: true }, customDataPath);
|
|
1134
|
+
const summaries = await listSessions({ limit: 0, all: true }, customDataPath);
|
|
1130
1135
|
const resolvedIds = [];
|
|
1131
1136
|
for (const identifier of identifiers) {
|
|
1132
1137
|
let sessionId;
|