emdash-emit 0.1.25 → 0.1.31

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 (212) hide show
  1. package/CHANGELOG.md +154 -4
  2. package/dist/cli/commands/conflicts.d.ts.map +1 -1
  3. package/dist/cli/commands/conflicts.js +2 -22
  4. package/dist/cli/commands/conflicts.js.map +1 -1
  5. package/dist/cli/commands/delete.d.ts.map +1 -1
  6. package/dist/cli/commands/delete.js +1 -13
  7. package/dist/cli/commands/delete.js.map +1 -1
  8. package/dist/cli/commands/doctor.d.ts.map +1 -1
  9. package/dist/cli/commands/doctor.js +1 -13
  10. package/dist/cli/commands/doctor.js.map +1 -1
  11. package/dist/cli/commands/media.d.ts.map +1 -1
  12. package/dist/cli/commands/media.js +1 -13
  13. package/dist/cli/commands/media.js.map +1 -1
  14. package/dist/cli/commands/new.d.ts.map +1 -1
  15. package/dist/cli/commands/new.js +1 -13
  16. package/dist/cli/commands/new.js.map +1 -1
  17. package/dist/cli/commands/pull.d.ts +3 -3
  18. package/dist/cli/commands/pull.d.ts.map +1 -1
  19. package/dist/cli/commands/pull.js +142 -88
  20. package/dist/cli/commands/pull.js.map +1 -1
  21. package/dist/cli/commands/push.d.ts +1 -1
  22. package/dist/cli/commands/push.d.ts.map +1 -1
  23. package/dist/cli/commands/push.js +32 -90
  24. package/dist/cli/commands/push.js.map +1 -1
  25. package/dist/cli/context.d.ts +12 -0
  26. package/dist/cli/context.d.ts.map +1 -1
  27. package/dist/cli/context.js +27 -1
  28. package/dist/cli/context.js.map +1 -1
  29. package/dist/cli/report-failure.d.ts +6 -0
  30. package/dist/cli/report-failure.d.ts.map +1 -0
  31. package/dist/cli/report-failure.js +71 -0
  32. package/dist/cli/report-failure.js.map +1 -0
  33. package/dist/client/api.d.ts.map +1 -1
  34. package/dist/client/api.js +1 -1
  35. package/dist/client/api.js.map +1 -1
  36. package/dist/client/lock.js.map +1 -1
  37. package/dist/client/mapper.js.map +1 -1
  38. package/dist/client/media.d.ts.map +1 -1
  39. package/dist/client/media.js.map +1 -1
  40. package/dist/db/baseline.d.ts +16 -1
  41. package/dist/db/baseline.d.ts.map +1 -1
  42. package/dist/db/baseline.js +25 -0
  43. package/dist/db/baseline.js.map +1 -1
  44. package/dist/db/cache.d.ts +2 -3
  45. package/dist/db/cache.d.ts.map +1 -1
  46. package/dist/db/cache.js +3 -295
  47. package/dist/db/cache.js.map +1 -1
  48. package/dist/db/migrations.d.ts +7 -0
  49. package/dist/db/migrations.d.ts.map +1 -0
  50. package/dist/db/migrations.js +320 -0
  51. package/dist/db/migrations.js.map +1 -0
  52. package/dist/mcp/heartbeat.d.ts +1 -34
  53. package/dist/mcp/heartbeat.d.ts.map +1 -1
  54. package/dist/mcp/heartbeat.js +1 -113
  55. package/dist/mcp/heartbeat.js.map +1 -1
  56. package/dist/mcp/tool-errors.d.ts +12 -1
  57. package/dist/mcp/tool-errors.d.ts.map +1 -1
  58. package/dist/mcp/tool-errors.js +29 -0
  59. package/dist/mcp/tool-errors.js.map +1 -1
  60. package/dist/mcp/tools/sync-conflicts.d.ts.map +1 -1
  61. package/dist/mcp/tools/sync-conflicts.js +46 -58
  62. package/dist/mcp/tools/sync-conflicts.js.map +1 -1
  63. package/dist/mcp/tools/sync-delete.d.ts.map +1 -1
  64. package/dist/mcp/tools/sync-delete.js +18 -30
  65. package/dist/mcp/tools/sync-delete.js.map +1 -1
  66. package/dist/mcp/tools/sync-diff.d.ts.map +1 -1
  67. package/dist/mcp/tools/sync-diff.js +10 -31
  68. package/dist/mcp/tools/sync-diff.js.map +1 -1
  69. package/dist/mcp/tools/sync-doctor.d.ts.map +1 -1
  70. package/dist/mcp/tools/sync-doctor.js +18 -30
  71. package/dist/mcp/tools/sync-doctor.js.map +1 -1
  72. package/dist/mcp/tools/sync-media-search.d.ts.map +1 -1
  73. package/dist/mcp/tools/sync-media-search.js +40 -52
  74. package/dist/mcp/tools/sync-media-search.js.map +1 -1
  75. package/dist/mcp/tools/sync-new.d.ts.map +1 -1
  76. package/dist/mcp/tools/sync-new.js +34 -55
  77. package/dist/mcp/tools/sync-new.js.map +1 -1
  78. package/dist/mcp/tools/sync-pull.d.ts.map +1 -1
  79. package/dist/mcp/tools/sync-pull.js +202 -222
  80. package/dist/mcp/tools/sync-pull.js.map +1 -1
  81. package/dist/mcp/tools/sync-push.d.ts.map +1 -1
  82. package/dist/mcp/tools/sync-push.js +64 -84
  83. package/dist/mcp/tools/sync-push.js.map +1 -1
  84. package/dist/mcp/tools/sync-status.d.ts.map +1 -1
  85. package/dist/mcp/tools/sync-status.js +3 -13
  86. package/dist/mcp/tools/sync-status.js.map +1 -1
  87. package/dist/presentation/article_report.d.ts +5 -0
  88. package/dist/presentation/article_report.d.ts.map +1 -1
  89. package/dist/presentation/article_report.js +17 -0
  90. package/dist/presentation/article_report.js.map +1 -1
  91. package/dist/sync/baseline-reconstruction.d.ts +43 -0
  92. package/dist/sync/baseline-reconstruction.d.ts.map +1 -0
  93. package/dist/sync/baseline-reconstruction.js +103 -0
  94. package/dist/sync/baseline-reconstruction.js.map +1 -0
  95. package/dist/sync/bylines.d.ts +5 -0
  96. package/dist/sync/bylines.d.ts.map +1 -1
  97. package/dist/sync/bylines.js +29 -0
  98. package/dist/sync/bylines.js.map +1 -1
  99. package/dist/sync/conflicts.d.ts.map +1 -1
  100. package/dist/sync/conflicts.js +21 -4
  101. package/dist/sync/conflicts.js.map +1 -1
  102. package/dist/sync/delete.d.ts.map +1 -1
  103. package/dist/sync/delete.js +12 -1
  104. package/dist/sync/delete.js.map +1 -1
  105. package/dist/sync/diff.d.ts.map +1 -1
  106. package/dist/sync/diff.js +58 -27
  107. package/dist/sync/diff.js.map +1 -1
  108. package/dist/sync/doctor.d.ts.map +1 -1
  109. package/dist/sync/doctor.js +13 -3
  110. package/dist/sync/doctor.js.map +1 -1
  111. package/dist/sync/guards.d.ts +1 -1
  112. package/dist/sync/guards.d.ts.map +1 -1
  113. package/dist/sync/guards.js +2 -1
  114. package/dist/sync/guards.js.map +1 -1
  115. package/dist/sync/media/companions.d.ts.map +1 -1
  116. package/dist/sync/media/companions.js.map +1 -1
  117. package/dist/sync/media/naming_mirror.d.ts.map +1 -1
  118. package/dist/sync/media/naming_mirror.js +11 -2
  119. package/dist/sync/media/naming_mirror.js.map +1 -1
  120. package/dist/sync/media/pull_article.d.ts +2 -0
  121. package/dist/sync/media/pull_article.d.ts.map +1 -1
  122. package/dist/sync/media/pull_article.js +74 -25
  123. package/dist/sync/media/pull_article.js.map +1 -1
  124. package/dist/sync/media/pull_library.d.ts.map +1 -1
  125. package/dist/sync/media/pull_library.js +34 -61
  126. package/dist/sync/media/pull_library.js.map +1 -1
  127. package/dist/sync/media/remote_index.d.ts +16 -1
  128. package/dist/sync/media/remote_index.d.ts.map +1 -1
  129. package/dist/sync/media/remote_index.js +2 -2
  130. package/dist/sync/media/remote_index.js.map +1 -1
  131. package/dist/sync/merge.d.ts.map +1 -1
  132. package/dist/sync/merge.js +5 -5
  133. package/dist/sync/merge.js.map +1 -1
  134. package/dist/sync/new.d.ts.map +1 -1
  135. package/dist/sync/new.js +5 -4
  136. package/dist/sync/new.js.map +1 -1
  137. package/dist/sync/orchestrator.d.ts +39 -0
  138. package/dist/sync/orchestrator.d.ts.map +1 -1
  139. package/dist/sync/orchestrator.js +93 -80
  140. package/dist/sync/orchestrator.js.map +1 -1
  141. package/dist/sync/preflight/image_probe.d.ts +28 -0
  142. package/dist/sync/preflight/image_probe.d.ts.map +1 -0
  143. package/dist/sync/preflight/image_probe.js +70 -0
  144. package/dist/sync/preflight/image_probe.js.map +1 -0
  145. package/dist/sync/preflight.d.ts.map +1 -1
  146. package/dist/sync/preflight.js +48 -45
  147. package/dist/sync/preflight.js.map +1 -1
  148. package/dist/sync/pull/fast_path.d.ts +9 -0
  149. package/dist/sync/pull/fast_path.d.ts.map +1 -0
  150. package/dist/sync/pull/fast_path.js +383 -0
  151. package/dist/sync/pull/fast_path.js.map +1 -0
  152. package/dist/sync/pull/index.d.ts +15 -0
  153. package/dist/sync/pull/index.d.ts.map +1 -0
  154. package/dist/sync/pull/index.js +372 -0
  155. package/dist/sync/pull/index.js.map +1 -0
  156. package/dist/sync/pull/list.d.ts +22 -0
  157. package/dist/sync/pull/list.d.ts.map +1 -0
  158. package/dist/sync/pull/list.js +175 -0
  159. package/dist/sync/pull/list.js.map +1 -0
  160. package/dist/sync/pull/media_stage.d.ts +67 -0
  161. package/dist/sync/pull/media_stage.d.ts.map +1 -0
  162. package/dist/sync/pull/media_stage.js +599 -0
  163. package/dist/sync/pull/media_stage.js.map +1 -0
  164. package/dist/sync/pull/quarantine.d.ts +22 -0
  165. package/dist/sync/pull/quarantine.d.ts.map +1 -0
  166. package/dist/sync/pull/quarantine.js +174 -0
  167. package/dist/sync/pull/quarantine.js.map +1 -0
  168. package/dist/sync/pull/types.d.ts +135 -0
  169. package/dist/sync/pull/types.d.ts.map +1 -0
  170. package/dist/sync/pull/types.js +23 -0
  171. package/dist/sync/pull/types.js.map +1 -0
  172. package/dist/sync/pull.d.ts +1 -114
  173. package/dist/sync/pull.d.ts.map +1 -1
  174. package/dist/sync/pull.js +1 -861
  175. package/dist/sync/pull.js.map +1 -1
  176. package/dist/sync/push/commit.d.ts.map +1 -1
  177. package/dist/sync/push/commit.js +1 -2
  178. package/dist/sync/push/commit.js.map +1 -1
  179. package/dist/sync/push/index.d.ts.map +1 -1
  180. package/dist/sync/push/index.js +4 -3
  181. package/dist/sync/push/index.js.map +1 -1
  182. package/dist/sync/push/merge_stage.js +1 -1
  183. package/dist/sync/push/merge_stage.js.map +1 -1
  184. package/dist/sync/push/taxonomy_plan.d.ts +4 -0
  185. package/dist/sync/push/taxonomy_plan.d.ts.map +1 -1
  186. package/dist/sync/push/taxonomy_plan.js +22 -10
  187. package/dist/sync/push/taxonomy_plan.js.map +1 -1
  188. package/dist/sync/push/transport.d.ts +1 -1
  189. package/dist/sync/push/transport.d.ts.map +1 -1
  190. package/dist/sync/push/transport.js +1 -1
  191. package/dist/sync/push/transport.js.map +1 -1
  192. package/dist/sync/status.d.ts.map +1 -1
  193. package/dist/sync/status.js +11 -57
  194. package/dist/sync/status.js.map +1 -1
  195. package/dist/sync/taxonomies.d.ts +45 -0
  196. package/dist/sync/taxonomies.d.ts.map +1 -1
  197. package/dist/sync/taxonomies.js +258 -119
  198. package/dist/sync/taxonomies.js.map +1 -1
  199. package/dist/utils/frontmatter.d.ts.map +1 -1
  200. package/dist/utils/frontmatter.js.map +1 -1
  201. package/dist/utils/mcp-heartbeat.d.ts +36 -0
  202. package/dist/utils/mcp-heartbeat.d.ts.map +1 -0
  203. package/dist/utils/mcp-heartbeat.js +126 -0
  204. package/dist/utils/mcp-heartbeat.js.map +1 -0
  205. package/dist/utils/media-body-refs.d.ts.map +1 -1
  206. package/dist/utils/media-body-refs.js +2 -2
  207. package/dist/utils/media-body-refs.js.map +1 -1
  208. package/dist/utils/taxonomy-key.d.ts +44 -0
  209. package/dist/utils/taxonomy-key.d.ts.map +1 -0
  210. package/dist/utils/taxonomy-key.js +63 -0
  211. package/dist/utils/taxonomy-key.js.map +1 -0
  212. package/package.json +1 -1
package/dist/db/cache.js CHANGED
@@ -22,9 +22,9 @@
22
22
  import { DatabaseSync } from 'node:sqlite';
23
23
  import fs from 'node:fs';
24
24
  import path from 'node:path';
25
- import { getPackageVersion } from '../utils/version.js';
26
25
  import { asMediaRecordId, toStorageKey, } from '../utils/media-id.js';
27
- export const CURRENT_CACHE_SCHEMA_VERSION = 5;
26
+ import { CURRENT_CACHE_SCHEMA_VERSION, runCacheMigrations } from './migrations.js';
27
+ export { CURRENT_CACHE_SCHEMA_VERSION, runCacheMigrations };
28
28
  export class CacheDatabase {
29
29
  db;
30
30
  dbPath;
@@ -38,299 +38,7 @@ export class CacheDatabase {
38
38
  this.init();
39
39
  }
40
40
  init() {
41
- // Enable WAL mode for better concurrency and write performance
42
- this.db.exec('PRAGMA journal_mode = WAL;');
43
- // 1. entries table: remote state cache
44
- this.db.exec(`
45
- CREATE TABLE IF NOT EXISTS entries (
46
- id TEXT PRIMARY KEY,
47
- collection TEXT NOT NULL,
48
- slug TEXT NOT NULL,
49
- status TEXT NOT NULL,
50
- title TEXT NOT NULL,
51
- rev TEXT NOT NULL,
52
- published_at TEXT,
53
- raw_json TEXT NOT NULL,
54
- updated_at INTEGER NOT NULL
55
- );
56
- CREATE INDEX IF NOT EXISTS idx_entries_collection ON entries (collection);
57
- CREATE INDEX IF NOT EXISTS idx_entries_slug ON entries (slug);
58
- `);
59
- // 2. base_snapshots table: baseline state for 3-way merge
60
- this.db.exec(`
61
- CREATE TABLE IF NOT EXISTS base_snapshots (
62
- id TEXT PRIMARY KEY,
63
- rev TEXT NOT NULL,
64
- body_markdown TEXT NOT NULL,
65
- frontmatter_yaml TEXT NOT NULL,
66
- hash TEXT NOT NULL,
67
- saved_at INTEGER NOT NULL
68
- );
69
- `);
70
- // 3. sync_state table: local path tracking & dirty change detection
71
- this.db.exec(`
72
- CREATE TABLE IF NOT EXISTS sync_state (
73
- id TEXT PRIMARY KEY,
74
- local_file_path TEXT NOT NULL,
75
- local_hash TEXT NOT NULL,
76
- remote_rev TEXT NOT NULL,
77
- status TEXT NOT NULL,
78
- slug TEXT NOT NULL,
79
- last_synced_at INTEGER NOT NULL,
80
- conflict_pending INTEGER NOT NULL DEFAULT 0,
81
- body_conflict_pending INTEGER NOT NULL DEFAULT 0,
82
- taxonomy_conflict_pending INTEGER NOT NULL DEFAULT 0,
83
- delete_pending INTEGER NOT NULL DEFAULT 0,
84
- conflict_copy_hash TEXT,
85
- conflict_copy_path TEXT,
86
- conflict_at INTEGER,
87
- remote_taxonomy_hash TEXT,
88
- taxonomy_apply_pending INTEGER NOT NULL DEFAULT 0
89
- );
90
- CREATE INDEX IF NOT EXISTS idx_sync_state_file_path ON sync_state (local_file_path);
91
- `);
92
- // 4. bylines table: local cache for author/byline resolution
93
- this.db.exec(`
94
- CREATE TABLE IF NOT EXISTS bylines (
95
- id TEXT PRIMARY KEY,
96
- slug TEXT NOT NULL UNIQUE,
97
- display_name TEXT NOT NULL,
98
- is_guest INTEGER NOT NULL DEFAULT 0,
99
- raw_json TEXT NOT NULL DEFAULT '{}',
100
- updated_at INTEGER NOT NULL
101
- );
102
- CREATE INDEX IF NOT EXISTS idx_bylines_slug ON bylines (slug);
103
- `);
104
- // 5. media_state table: local draft media upload tracking & idempotency (Schema v5)
105
- this.db.exec(`
106
- CREATE TABLE IF NOT EXISTS media_state (
107
- storage_key TEXT PRIMARY KEY,
108
- media_id TEXT NOT NULL,
109
- local_content_hash TEXT,
110
- remote_record_ref TEXT,
111
- url TEXT NOT NULL,
112
- workspace_path TEXT,
113
- markdown_ref TEXT,
114
- status TEXT NOT NULL,
115
- uploaded_at INTEGER
116
- );
117
- CREATE INDEX IF NOT EXISTS idx_media_state_media_id ON media_state (media_id);
118
- CREATE INDEX IF NOT EXISTS idx_media_state_status ON media_state (status);
119
- `);
120
- // Run schema migrations for existing databases
121
- this.runMigrations();
122
- // Create indexes that depend on migrated columns
123
- this.db.exec(`
124
- CREATE INDEX IF NOT EXISTS idx_sync_state_conflict ON sync_state (conflict_pending);
125
- CREATE INDEX IF NOT EXISTS idx_media_state_content_hash ON media_state (local_content_hash);
126
- `);
127
- }
128
- runMigrations() {
129
- const versionRow = this.db.prepare('PRAGMA user_version;').get();
130
- const currentVersion = Number(versionRow?.user_version || 0);
131
- // Guard against opening a database created by a newer version of emdash-emit
132
- if (currentVersion > CURRENT_CACHE_SCHEMA_VERSION) {
133
- throw new Error(`[CACHE_SCHEMA_MISMATCH] Cache database at ${this.dbPath} was created with schema version ${currentVersion}, but current emit supports up to ${CURRENT_CACHE_SCHEMA_VERSION}. Please upgrade emdash-emit.`);
134
- }
135
- if (currentVersion < CURRENT_CACHE_SCHEMA_VERSION) {
136
- // 1. Backup database before running migration via SQLite native VACUUM INTO
137
- if (this.dbPath !== ':memory:' && fs.existsSync(this.dbPath)) {
138
- try {
139
- const version = getPackageVersion();
140
- const versionStr = version !== 'unknown' ? version : CURRENT_CACHE_SCHEMA_VERSION;
141
- const timestamp = new Date().toISOString().replace(/[:.]/g, '-');
142
- const bakPath = `${this.dbPath}.bak-${versionStr}-${timestamp}`;
143
- this.db.prepare('VACUUM INTO ?').run(bakPath);
144
- }
145
- catch {
146
- // Ignore in-memory or constrained test environments
147
- }
148
- }
149
- // Unconditionally sweep 0-byte or excess backups
150
- this.pruneBackups();
151
- // Migration 1 & 2: schema columns from v1 and v2 if missing
152
- const columns = this.db.prepare("PRAGMA table_info('sync_state');").all();
153
- const columnNames = new Set(columns.map((c) => String(c.name)));
154
- if (!columnNames.has('conflict_pending')) {
155
- this.db.exec('ALTER TABLE sync_state ADD COLUMN conflict_pending INTEGER NOT NULL DEFAULT 0;');
156
- }
157
- if (!columnNames.has('delete_pending')) {
158
- this.db.exec('ALTER TABLE sync_state ADD COLUMN delete_pending INTEGER NOT NULL DEFAULT 0;');
159
- }
160
- if (!columnNames.has('conflict_copy_hash')) {
161
- this.db.exec('ALTER TABLE sync_state ADD COLUMN conflict_copy_hash TEXT;');
162
- }
163
- if (!columnNames.has('conflict_copy_path')) {
164
- this.db.exec('ALTER TABLE sync_state ADD COLUMN conflict_copy_path TEXT;');
165
- }
166
- if (!columnNames.has('conflict_at')) {
167
- this.db.exec('ALTER TABLE sync_state ADD COLUMN conflict_at INTEGER;');
168
- }
169
- if (!columnNames.has('remote_taxonomy_hash')) {
170
- this.db.exec('ALTER TABLE sync_state ADD COLUMN remote_taxonomy_hash TEXT;');
171
- }
172
- if (!columnNames.has('taxonomy_apply_pending')) {
173
- this.db.exec('ALTER TABLE sync_state ADD COLUMN taxonomy_apply_pending INTEGER NOT NULL DEFAULT 0;');
174
- }
175
- // Migration 3 (v3): separate body and taxonomy conflict pending flags
176
- if (!columnNames.has('body_conflict_pending')) {
177
- this.db.exec('ALTER TABLE sync_state ADD COLUMN body_conflict_pending INTEGER NOT NULL DEFAULT 0;');
178
- }
179
- if (!columnNames.has('taxonomy_conflict_pending')) {
180
- this.db.exec('ALTER TABLE sync_state ADD COLUMN taxonomy_conflict_pending INTEGER NOT NULL DEFAULT 0;');
181
- }
182
- // Existing rows allocation rule when upgrading to v3
183
- if (currentVersion < 3) {
184
- this.db.exec(`
185
- UPDATE sync_state
186
- SET body_conflict_pending = CASE
187
- WHEN conflict_pending = 1 AND conflict_copy_path LIKE '%.conflict.md' THEN 1
188
- WHEN conflict_pending = 1 AND remote_taxonomy_hash IS NOT NULL AND (conflict_copy_path IS NULL OR conflict_copy_path NOT LIKE '%.conflict.md') THEN 0
189
- WHEN conflict_pending = 1 THEN 1
190
- ELSE 0 END,
191
- taxonomy_conflict_pending = CASE
192
- WHEN conflict_pending = 1 AND conflict_copy_path LIKE '%.conflict.md' THEN 0
193
- WHEN conflict_pending = 1 AND remote_taxonomy_hash IS NOT NULL THEN 1
194
- WHEN conflict_pending = 1 THEN 1
195
- ELSE 0 END
196
- WHERE conflict_pending = 1;
197
- `);
198
- }
199
- this.db.exec('CREATE INDEX IF NOT EXISTS idx_sync_state_conflict ON sync_state (conflict_pending);');
200
- this.db.exec('CREATE INDEX IF NOT EXISTS idx_sync_state_body_conflict ON sync_state (body_conflict_pending);');
201
- this.db.exec('CREATE INDEX IF NOT EXISTS idx_sync_state_tax_conflict ON sync_state (taxonomy_conflict_pending);');
202
- this.db.exec('CREATE INDEX IF NOT EXISTS idx_sync_state_delete ON sync_state (delete_pending);');
203
- this.db.exec('CREATE INDEX IF NOT EXISTS idx_sync_state_tax_apply ON sync_state (taxonomy_apply_pending);');
204
- // Migration 4 (v4): media mirrors are named after the storageKey
205
- const mediaColumns = this.db.prepare("PRAGMA table_info('media_state');").all();
206
- const mediaColumnNames = new Set(mediaColumns.map((c) => String(c.name)));
207
- if (!mediaColumnNames.has('markdown_ref')) {
208
- this.db.exec('ALTER TABLE media_state ADD COLUMN markdown_ref TEXT;');
209
- }
210
- // Migration 5 (v5): recreate media_state with storage_key as PRIMARY KEY,
211
- // separating local_content_hash (SHA-256) and remote_record_ref (media-record:<id>).
212
- if (currentVersion < 5) {
213
- const mediaCols = this.db.prepare("PRAGMA table_info('media_state');").all();
214
- const mediaColNames = new Set(mediaCols.map((c) => String(c.name)));
215
- const storageKeyCol = mediaCols.find((c) => String(c.name) === 'storage_key');
216
- const isStorageKeyPk = storageKeyCol && Number(storageKeyCol.pk) > 0;
217
- if (!isStorageKeyPk) {
218
- this.db.exec('BEGIN TRANSACTION;');
219
- try {
220
- this.db.exec(`
221
- CREATE TABLE IF NOT EXISTS media_state_v5 (
222
- storage_key TEXT PRIMARY KEY,
223
- media_id TEXT NOT NULL,
224
- local_content_hash TEXT,
225
- remote_record_ref TEXT,
226
- url TEXT NOT NULL,
227
- workspace_path TEXT,
228
- markdown_ref TEXT,
229
- status TEXT NOT NULL,
230
- uploaded_at INTEGER
231
- );
232
- `);
233
- if (mediaColNames.has('local_hash')) {
234
- const hasMarkdownRef = mediaColNames.has('markdown_ref');
235
- this.db.exec(`
236
- INSERT INTO media_state_v5 (
237
- storage_key,
238
- media_id,
239
- local_content_hash,
240
- remote_record_ref,
241
- url,
242
- workspace_path,
243
- markdown_ref,
244
- status,
245
- uploaded_at
246
- )
247
- SELECT
248
- COALESCE(
249
- NULLIF(storage_key, ''),
250
- CASE WHEN url LIKE '%/file/%' THEN substr(url, instr(url, '/file/') + 6) ELSE 'legacy_' || media_id END
251
- ) AS computed_key,
252
- MAX(media_id),
253
- MAX(CASE WHEN local_hash NOT LIKE 'media-record:%' THEN local_hash ELSE NULL END),
254
- MAX(CASE WHEN local_hash LIKE 'media-record:%' THEN local_hash ELSE NULL END),
255
- MAX(url),
256
- MAX(workspace_path),
257
- ${hasMarkdownRef ? 'MAX(markdown_ref)' : 'NULL'},
258
- MAX(status),
259
- MAX(uploaded_at)
260
- FROM media_state
261
- WHERE (storage_key IS NOT NULL AND storage_key != '') OR url LIKE '%/file/%'
262
- GROUP BY computed_key;
263
- `);
264
- this.db.exec('DROP TABLE media_state;');
265
- }
266
- this.db.exec('ALTER TABLE media_state_v5 RENAME TO media_state;');
267
- this.db.exec(`
268
- CREATE INDEX IF NOT EXISTS idx_media_state_media_id ON media_state (media_id);
269
- CREATE INDEX IF NOT EXISTS idx_media_state_status ON media_state (status);
270
- CREATE INDEX IF NOT EXISTS idx_media_state_content_hash ON media_state (local_content_hash);
271
- `);
272
- this.db.exec('COMMIT;');
273
- }
274
- catch (err) {
275
- this.db.exec('ROLLBACK;');
276
- throw err;
277
- }
278
- }
279
- }
280
- this.db.exec(`PRAGMA user_version = ${CURRENT_CACHE_SCHEMA_VERSION};`);
281
- }
282
- }
283
- pruneBackups() {
284
- if (this.dbPath === ':memory:')
285
- return;
286
- try {
287
- const dbDir = path.dirname(this.dbPath);
288
- const dbBase = path.basename(this.dbPath);
289
- if (!fs.existsSync(dbDir))
290
- return;
291
- const backupFiles = fs
292
- .readdirSync(dbDir)
293
- .filter((f) => f.startsWith(`${dbBase}.bak-`))
294
- .map((f) => path.join(dbDir, f));
295
- // 1. Unconditionally purge 0-byte backup files
296
- const validBackups = [];
297
- for (const bak of backupFiles) {
298
- try {
299
- const stat = fs.statSync(bak);
300
- if (stat.size === 0) {
301
- fs.unlinkSync(bak);
302
- }
303
- else {
304
- validBackups.push(bak);
305
- }
306
- }
307
- catch {
308
- // Ignore stat/unlink errors
309
- }
310
- }
311
- // 2. Retain up to 3 newest valid backups
312
- validBackups.sort((a, b) => {
313
- try {
314
- return fs.statSync(b).mtimeMs - fs.statSync(a).mtimeMs;
315
- }
316
- catch {
317
- return 0;
318
- }
319
- });
320
- if (validBackups.length > 3) {
321
- for (const oldBak of validBackups.slice(3)) {
322
- try {
323
- fs.unlinkSync(oldBak);
324
- }
325
- catch {
326
- // Ignore unlink errors
327
- }
328
- }
329
- }
330
- }
331
- catch {
332
- // Ignore backup prune errors
333
- }
41
+ runCacheMigrations(this.db, this.dbPath);
334
42
  }
335
43
  getSchemaVersion() {
336
44
  const row = this.db.prepare('PRAGMA user_version;').get();
@@ -1 +1 @@
1
- {"version":3,"file":"cache.js","sourceRoot":"","sources":["../../src/db/cache.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cache.js","sourceRoot":"","sources":["../../src/db/cache.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import type { DatabaseSync } from 'node:sqlite';
2
+ export declare const CURRENT_CACHE_SCHEMA_VERSION = 5;
3
+ /**
4
+ * Initializes SQLite schema tables and executes versioned migrations up to CURRENT_CACHE_SCHEMA_VERSION.
5
+ */
6
+ export declare function runCacheMigrations(db: DatabaseSync, dbPath?: string): void;
7
+ //# sourceMappingURL=migrations.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"migrations.d.ts","sourceRoot":"","sources":["../../src/db/migrations.ts"],"names":[],"mappings":"AAsBA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAKhD,eAAO,MAAM,4BAA4B,IAAI,CAAC;AAoD9C;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,YAAY,EAAE,MAAM,SAAa,GAAG,IAAI,CAqR9E"}