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.
Files changed (64) hide show
  1. package/README.md +66 -7
  2. package/dist/cli/commands/export.js +6 -6
  3. package/dist/cli/commands/export.js.map +1 -1
  4. package/dist/cli/commands/list.js +2 -2
  5. package/dist/cli/commands/list.js.map +1 -1
  6. package/dist/cli/commands/migrate-session.js +2 -2
  7. package/dist/cli/commands/migrate-session.js.map +1 -1
  8. package/dist/cli/commands/migrate.js +1 -1
  9. package/dist/cli/commands/migrate.js.map +1 -1
  10. package/dist/cli/commands/search.js +1 -1
  11. package/dist/cli/commands/search.js.map +1 -1
  12. package/dist/cli/commands/show.js +2 -2
  13. package/dist/cli/commands/show.js.map +1 -1
  14. package/dist/core/backup.d.ts +6 -9
  15. package/dist/core/backup.d.ts.map +1 -1
  16. package/dist/core/backup.js +48 -30
  17. package/dist/core/backup.js.map +1 -1
  18. package/dist/core/database/debug.d.ts +12 -0
  19. package/dist/core/database/debug.d.ts.map +1 -0
  20. package/dist/core/database/debug.js +16 -0
  21. package/dist/core/database/debug.js.map +1 -0
  22. package/dist/core/database/drivers/better-sqlite3.d.ts +11 -0
  23. package/dist/core/database/drivers/better-sqlite3.d.ts.map +1 -0
  24. package/dist/core/database/drivers/better-sqlite3.js +93 -0
  25. package/dist/core/database/drivers/better-sqlite3.js.map +1 -0
  26. package/dist/core/database/drivers/node-sqlite.d.ts +15 -0
  27. package/dist/core/database/drivers/node-sqlite.d.ts.map +1 -0
  28. package/dist/core/database/drivers/node-sqlite.js +135 -0
  29. package/dist/core/database/drivers/node-sqlite.js.map +1 -0
  30. package/dist/core/database/errors.d.ts +24 -0
  31. package/dist/core/database/errors.d.ts.map +1 -0
  32. package/dist/core/database/errors.js +38 -0
  33. package/dist/core/database/errors.js.map +1 -0
  34. package/dist/core/database/index.d.ts +98 -0
  35. package/dist/core/database/index.d.ts.map +1 -0
  36. package/dist/core/database/index.js +125 -0
  37. package/dist/core/database/index.js.map +1 -0
  38. package/dist/core/database/registry.d.ts +81 -0
  39. package/dist/core/database/registry.d.ts.map +1 -0
  40. package/dist/core/database/registry.js +171 -0
  41. package/dist/core/database/registry.js.map +1 -0
  42. package/dist/core/database/types.d.ts +115 -0
  43. package/dist/core/database/types.d.ts.map +1 -0
  44. package/dist/core/database/types.js +8 -0
  45. package/dist/core/database/types.js.map +1 -0
  46. package/dist/core/migrate.d.ts +3 -3
  47. package/dist/core/migrate.d.ts.map +1 -1
  48. package/dist/core/migrate.js +16 -16
  49. package/dist/core/migrate.js.map +1 -1
  50. package/dist/core/storage.d.ts +19 -17
  51. package/dist/core/storage.d.ts.map +1 -1
  52. package/dist/core/storage.js +39 -34
  53. package/dist/core/storage.js.map +1 -1
  54. package/dist/lib/config.d.ts +2 -1
  55. package/dist/lib/config.d.ts.map +1 -1
  56. package/dist/lib/config.js +9 -0
  57. package/dist/lib/config.js.map +1 -1
  58. package/dist/lib/index.d.ts +63 -31
  59. package/dist/lib/index.d.ts.map +1 -1
  60. package/dist/lib/index.js +98 -54
  61. package/dist/lib/index.js.map +1 -1
  62. package/dist/lib/types.d.ts +12 -0
  63. package/dist/lib/types.d.ts.map +1 -1
  64. package/package.json +1 -1
@@ -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 Database from 'better-sqlite3';
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 Database(globalDbPath, { readonly: false });
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 Database(globalDbPath, { readonly: false });
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,
@@ -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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"}
@@ -1,17 +1,19 @@
1
1
  /**
2
2
  * Storage discovery and database access for Cursor chat history
3
3
  */
4
- import Database from 'better-sqlite3';
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.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.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.Database): ComposerDataResult | null;
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.Database, composers: Array<{
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":"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"}
1
+ {"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../../src/core/storage.ts"],"names":[],"mappings":"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"}
@@ -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 new Database(dbPath, { readonly: true });
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 new Database(dbPath, { readonly: false });
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;