From 8e6cf310a0d034180ab566f4cefb41b6c1b49799 Mon Sep 17 00:00:00 2001 From: Akshay Sharma Date: Thu, 11 Jun 2026 17:03:51 +0530 Subject: [PATCH] fix: expose db on createObserver() return type Downstream apps (wrkmark-app) need direct database access for raw SQL queries. Previously forced to use (sessionManager as any).db type hack. Adding db: WrkmarkDb to return type eliminates the any cast and restores full TypeScript type safety. Tests: 69/69 passing | typecheck: zero errors --- src/index.ts | 3 +++ tests/index.test.ts | 1 + 2 files changed, 4 insertions(+) diff --git a/src/index.ts b/src/index.ts index 375052f..fe4e2e1 100644 --- a/src/index.ts +++ b/src/index.ts @@ -38,6 +38,7 @@ export { VSCodeCollector } from './collectors/vscode.js'; export const VERSION = '0.1.0'; import { createDatabase as internalCreateDatabase } from './db/database.js'; +import type { WrkmarkDb } from './db/database.js'; import { AuditLog as InternalAuditLog } from './privacy/audit-log.js'; import { SignalAnonymizer as InternalSignalAnonymizer } from './processor/anonymizer.js'; import { SignalExtractor as InternalSignalExtractor } from './processor/signal-extractor.js'; @@ -59,6 +60,7 @@ export function createObserver(dbPath: string): { sessionManager: InternalSessionManager; collector: InternalVSCodeCollector; auditLog: InternalAuditLog; + db: WrkmarkDb; version: string; } { const db = internalCreateDatabase(dbPath); @@ -77,6 +79,7 @@ export function createObserver(dbPath: string): { sessionManager, collector, auditLog, + db, version: VERSION, }; } diff --git a/tests/index.test.ts b/tests/index.test.ts index bd01af8..90069f4 100644 --- a/tests/index.test.ts +++ b/tests/index.test.ts @@ -31,6 +31,7 @@ describe('index.ts — Public API and Bootstrap Integration', () => { expect(observer.sessionManager).toBeDefined(); expect(observer.collector).toBeDefined(); expect(observer.auditLog).toBeDefined(); + expect(observer.db).toBeDefined(); expect(observer.version).toBe('0.1.0'); });