| 210 | } |
| 211 | |
| 212 | stats(): { files: number; symbols: number; lastIndexed: string | null } { |
| 213 | const files = (this.db.prepare(`SELECT COUNT(*) as n FROM files`).get() as { n: number }).n; |
| 214 | const symbols = (this.db.prepare(`SELECT COUNT(*) as n FROM symbols`).get() as { n: number }).n; |
| 215 | const last = this.db.prepare(`SELECT MAX(indexed_at) as t FROM files`).get() as { t: string | null }; |
| 216 | return { files, symbols, lastIndexed: last.t }; |
| 217 | } |
| 218 | |
| 219 | setMeta(key: string, value: string): void { |
| 220 | this.db.prepare(`INSERT OR REPLACE INTO meta (key, value) VALUES (?, ?)`).run(key, value); |