videobook-engine 2.0.1 → 4.2.0

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 (148) hide show
  1. package/README.md +87 -41
  2. package/dist/artifact-names.d.ts +6 -0
  3. package/dist/artifact-names.d.ts.map +1 -0
  4. package/dist/artifact-names.js +56 -0
  5. package/dist/artifact-names.js.map +1 -0
  6. package/dist/artifacts.d.ts.map +1 -1
  7. package/dist/artifacts.js +57 -23
  8. package/dist/artifacts.js.map +1 -1
  9. package/dist/books.js +2 -1
  10. package/dist/books.js.map +1 -1
  11. package/dist/cas.d.ts +27 -1
  12. package/dist/cas.d.ts.map +1 -1
  13. package/dist/cas.js +78 -6
  14. package/dist/cas.js.map +1 -1
  15. package/dist/catalog-metadata.d.ts +56 -0
  16. package/dist/catalog-metadata.d.ts.map +1 -0
  17. package/dist/catalog-metadata.js +42 -0
  18. package/dist/catalog-metadata.js.map +1 -0
  19. package/dist/communications.js +4 -2
  20. package/dist/communications.js.map +1 -1
  21. package/dist/context.d.ts +6 -1
  22. package/dist/context.d.ts.map +1 -1
  23. package/dist/context.js +35 -6
  24. package/dist/context.js.map +1 -1
  25. package/dist/domain.d.ts +4 -0
  26. package/dist/domain.d.ts.map +1 -1
  27. package/dist/domain.js +870 -58
  28. package/dist/domain.js.map +1 -1
  29. package/dist/edit-policy.d.ts +3 -0
  30. package/dist/edit-policy.d.ts.map +1 -0
  31. package/dist/edit-policy.js +6 -0
  32. package/dist/edit-policy.js.map +1 -0
  33. package/dist/edits.d.ts +10 -0
  34. package/dist/edits.d.ts.map +1 -0
  35. package/dist/edits.js +1392 -0
  36. package/dist/edits.js.map +1 -0
  37. package/dist/engine-types.d.ts +110 -60
  38. package/dist/engine-types.d.ts.map +1 -1
  39. package/dist/engine-types.js +33 -0
  40. package/dist/engine-types.js.map +1 -1
  41. package/dist/engine.d.ts +69 -8
  42. package/dist/engine.d.ts.map +1 -1
  43. package/dist/engine.js +24 -18
  44. package/dist/engine.js.map +1 -1
  45. package/dist/files.d.ts.map +1 -1
  46. package/dist/files.js +31 -27
  47. package/dist/files.js.map +1 -1
  48. package/dist/fork.d.ts +147 -0
  49. package/dist/fork.d.ts.map +1 -0
  50. package/dist/fork.js +609 -0
  51. package/dist/fork.js.map +1 -0
  52. package/dist/history.d.ts +0 -4
  53. package/dist/history.d.ts.map +1 -1
  54. package/dist/history.js +166 -595
  55. package/dist/history.js.map +1 -1
  56. package/dist/index.d.ts +16 -4
  57. package/dist/index.d.ts.map +1 -1
  58. package/dist/index.js +12 -2
  59. package/dist/index.js.map +1 -1
  60. package/dist/job-queue.d.ts +2 -0
  61. package/dist/job-queue.d.ts.map +1 -1
  62. package/dist/job-queue.js +29 -2
  63. package/dist/job-queue.js.map +1 -1
  64. package/dist/media.d.ts.map +1 -1
  65. package/dist/media.js +1 -0
  66. package/dist/media.js.map +1 -1
  67. package/dist/merge-policy.d.ts +99 -0
  68. package/dist/merge-policy.d.ts.map +1 -0
  69. package/dist/merge-policy.js +310 -0
  70. package/dist/merge-policy.js.map +1 -0
  71. package/dist/metadata.d.ts.map +1 -1
  72. package/dist/metadata.js +15 -20
  73. package/dist/metadata.js.map +1 -1
  74. package/dist/migration.d.ts +9 -0
  75. package/dist/migration.d.ts.map +1 -0
  76. package/dist/migration.js +534 -0
  77. package/dist/migration.js.map +1 -0
  78. package/dist/mvp-contract-fixtures.d.ts +244 -0
  79. package/dist/mvp-contract-fixtures.d.ts.map +1 -0
  80. package/dist/mvp-contract-fixtures.js +556 -0
  81. package/dist/mvp-contract-fixtures.js.map +1 -0
  82. package/dist/mvp-contracts.d.ts +761 -0
  83. package/dist/mvp-contracts.d.ts.map +1 -0
  84. package/dist/mvp-contracts.js +59 -0
  85. package/dist/mvp-contracts.js.map +1 -0
  86. package/dist/mvp-time.d.ts +54 -0
  87. package/dist/mvp-time.d.ts.map +1 -0
  88. package/dist/mvp-time.js +148 -0
  89. package/dist/mvp-time.js.map +1 -0
  90. package/dist/notebook/types.d.ts +113 -8
  91. package/dist/notebook/types.d.ts.map +1 -1
  92. package/dist/order-keys.d.ts +22 -0
  93. package/dist/order-keys.d.ts.map +1 -0
  94. package/dist/order-keys.js +262 -0
  95. package/dist/order-keys.js.map +1 -0
  96. package/dist/runtime-services.js +4 -2
  97. package/dist/runtime-services.js.map +1 -1
  98. package/dist/schema.d.ts +24 -5
  99. package/dist/schema.d.ts.map +1 -1
  100. package/dist/schema.js +644 -132
  101. package/dist/schema.js.map +1 -1
  102. package/dist/search-benchmark.d.ts +4 -0
  103. package/dist/search-benchmark.d.ts.map +1 -0
  104. package/dist/search-benchmark.js +144 -0
  105. package/dist/search-benchmark.js.map +1 -0
  106. package/dist/sequences.d.ts +20 -0
  107. package/dist/sequences.d.ts.map +1 -0
  108. package/dist/sequences.js +825 -0
  109. package/dist/sequences.js.map +1 -0
  110. package/dist/similarity.js +1 -1
  111. package/dist/storage.d.ts +3 -1
  112. package/dist/storage.d.ts.map +1 -1
  113. package/dist/storage.js +388 -7
  114. package/dist/storage.js.map +1 -1
  115. package/dist/store.d.ts +63 -2
  116. package/dist/store.d.ts.map +1 -1
  117. package/dist/store.js +351 -65
  118. package/dist/store.js.map +1 -1
  119. package/dist/streams.d.ts +10 -0
  120. package/dist/streams.d.ts.map +1 -0
  121. package/dist/streams.js +183 -0
  122. package/dist/streams.js.map +1 -0
  123. package/dist/temporal-models.d.ts +48 -0
  124. package/dist/temporal-models.d.ts.map +1 -0
  125. package/dist/temporal-models.js +278 -0
  126. package/dist/temporal-models.js.map +1 -0
  127. package/dist/temporal-search.d.ts +29 -0
  128. package/dist/temporal-search.d.ts.map +1 -0
  129. package/dist/temporal-search.js +1507 -0
  130. package/dist/temporal-search.js.map +1 -0
  131. package/dist/transcripts.d.ts +16 -0
  132. package/dist/transcripts.d.ts.map +1 -0
  133. package/dist/transcripts.js +519 -0
  134. package/dist/transcripts.js.map +1 -0
  135. package/docs/engine-layout.md +346 -106
  136. package/docs/mvp-prd.md +918 -0
  137. package/fixtures/media/vancat.mp4 +0 -0
  138. package/fixtures/media/vancat_profile.jpg +0 -0
  139. package/fixtures/v5/contract-fixtures.json +1532 -0
  140. package/package.json +30 -5
  141. package/dist/history-types.d.ts +0 -74
  142. package/dist/history-types.d.ts.map +0 -1
  143. package/dist/history-types.js +0 -2
  144. package/dist/history-types.js.map +0 -1
  145. package/dist/timeline.d.ts +0 -9
  146. package/dist/timeline.d.ts.map +0 -1
  147. package/dist/timeline.js +0 -236
  148. package/dist/timeline.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sequences.js","sourceRoot":"","sources":["../src/sequences.ts"],"names":[],"mappings":"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"}
@@ -648,7 +648,7 @@ class LocalSimilarityApi {
648
648
  sourceFor(artifact, kind) {
649
649
  const rows = this.context.store.db
650
650
  .prepare(`SELECT f.artifact_id, f.path, f.object_hash, o.size_bytes,
651
- f.mtime_ms, f.created_at
651
+ f.created_at
652
652
  FROM artifact_files f
653
653
  JOIN objects o ON o.object_hash=f.object_hash
654
654
  WHERE f.artifact_id=?
package/dist/storage.d.ts CHANGED
@@ -1,7 +1,9 @@
1
- import type { EngineError, Result, StorageStatus } from "./engine-types.js";
1
+ import type { CollectGarbageOptions, CollectGarbageResult, DeleteObjectOptions, DeleteObjectResult, EngineError, Result, StorageStatus } from "./engine-types.js";
2
2
  import { EngineContext } from "./context.js";
3
3
  export declare function createStorageApi(context: EngineContext): {
4
4
  status: () => StorageStatus;
5
5
  backup: () => Promise<Result<StorageStatus, EngineError>>;
6
+ deleteObject: (hash: string, options?: DeleteObjectOptions) => Promise<Result<DeleteObjectResult, EngineError>>;
7
+ gc: (options?: CollectGarbageOptions) => Promise<Result<CollectGarbageResult, EngineError>>;
6
8
  };
7
9
  //# sourceMappingURL=storage.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../src/storage.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,WAAW,EACX,MAAM,EACN,aAAa,EACd,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,aAAa,EAAY,MAAM,cAAc,CAAC;AAQvD,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,aAAa;kBAEvC,aAAa;kBACb,OAAO,CAAC,MAAM,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;EAG1D"}
1
+ {"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../src/storage.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,qBAAqB,EACrB,oBAAoB,EAEpB,mBAAmB,EACnB,kBAAkB,EAClB,WAAW,EAEX,MAAM,EACN,aAAa,EACd,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,aAAa,EAAY,MAAM,cAAc,CAAC;AAevD,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,aAAa;kBAEvC,aAAa;kBACb,OAAO,CAAC,MAAM,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;yBAE/C,MAAM,YACF,mBAAmB,KAC5B,OAAO,CAAC,MAAM,CAAC,kBAAkB,EAAE,WAAW,CAAC,CAAC;mBAGvC,qBAAqB,KAC9B,OAAO,CAAC,MAAM,CAAC,oBAAoB,EAAE,WAAW,CAAC,CAAC;EAGxD"}
package/dist/storage.js CHANGED
@@ -1,10 +1,19 @@
1
+ import { stat } from "node:fs/promises";
1
2
  import { ok } from "./engine-types.js";
2
3
  import { resultOf } from "./context.js";
3
- import { canonicalJson, parseJson } from "./store.js";
4
+ import { canonicalJson, EngineFault, parseJson } from "./store.js";
5
+ /**
6
+ * Minimum age before a stray local file (bytes without an `objects` row) is
7
+ * swept, so an import that has written its bytes but not yet committed its
8
+ * row cannot lose them to a concurrent GC.
9
+ */
10
+ const STRAY_GRACE_MS = 600_000;
4
11
  export function createStorageApi(context) {
5
12
  return {
6
13
  status: () => storageStatus(context),
7
14
  backup: () => backup(context),
15
+ deleteObject: (hash, options) => deleteObject(context, hash, options),
16
+ gc: (options) => collectGarbage(context, options),
8
17
  };
9
18
  }
10
19
  function storageStatus(context) {
@@ -60,29 +69,401 @@ async function backup(context) {
60
69
  }
61
70
  catch (error) {
62
71
  const message = error instanceof Error ? error.message : String(error);
63
- const state = /diverg|non-fast-forward|fetch first/i.test(message)
64
- ? "diverged"
65
- : "offline";
72
+ // doltlite reports a rejected push as "push failed (not a
73
+ // fast-forward?)"; keep the detection tolerant of other phrasings.
74
+ const diverged = /diverg|fast-forward|fetch first/i.test(message);
75
+ const state = diverged ? "diverged" : "offline";
66
76
  setBackupState(context, state, message);
67
77
  return {
68
78
  ok: false,
69
79
  error: {
70
80
  code: state === "diverged" ? "DIVERGED" : "OFFLINE",
71
- message,
81
+ message: diverged
82
+ ? `${message} — the upstream catalog has moved ahead. A live ` +
83
+ "engine never pulls; run the dedicated merge-back flow " +
84
+ "(mergeBack in src/fork.ts) on a healthy upstream catalog " +
85
+ "copy to integrate this fork's commits, then back up again."
86
+ : message,
72
87
  },
73
88
  };
74
89
  }
75
90
  });
76
91
  }
92
+ /**
93
+ * Explicitly deletes one content object.
94
+ *
95
+ * The default refuses to delete an object still referenced at HEAD
96
+ * (`IN_USE`). With `force`, the object is forgotten anyway — the takedown
97
+ * path. Forgetting is recorded as a semantic commit that sets
98
+ * `objects.forgotten_at`: the versioned row stays as the tombstone
99
+ * (hash + size + forgotten timestamp) for every historical row that named
100
+ * the object, backup never tries to publish it again, and later reads of
101
+ * those rows surface OBJECT_UNAVAILABLE instead of the bytes. Run this and
102
+ * `gc` only while no imports are in flight.
103
+ */
104
+ async function deleteObject(context, hash, options = {}) {
105
+ return resultOf(async () => {
106
+ const row = context.store.db
107
+ .prepare(`SELECT object_hash, size_bytes, forgotten_at FROM objects
108
+ WHERE object_hash=?`)
109
+ .get(hash);
110
+ if (!row) {
111
+ throw new EngineFault({
112
+ code: "NOT_FOUND",
113
+ message: `Object not found: ${hash}`,
114
+ });
115
+ }
116
+ // Retrying an already-forgotten object skips the tombstone commit and
117
+ // just finishes byte removal — an earlier attempt may have failed after
118
+ // the commit but before the local or remote delete completed.
119
+ const alreadyForgotten = row.forgotten_at !== null;
120
+ const severed = [];
121
+ let revision;
122
+ if (!alreadyForgotten) {
123
+ // The reference scan runs inside the serialized semantic section so no
124
+ // concurrent commit can add a reference between the IN_USE check and
125
+ // the tombstone. `details` is filled by the mutation and read at
126
+ // commit-message time, which happens after the mutation ran.
127
+ const details = {
128
+ hash: row.object_hash,
129
+ sizeBytes: row.size_bytes,
130
+ forced: options.force === true,
131
+ };
132
+ const mutation = await context.store.semantic({
133
+ operation: "delete_object",
134
+ tables: ["objects"],
135
+ details,
136
+ writeSet: [`object:${row.object_hash}`],
137
+ }, (_operationId, now) => {
138
+ const references = objectReferences(context, hash);
139
+ if (references.length > 0 && !options.force) {
140
+ throw new EngineFault({
141
+ code: "IN_USE",
142
+ message: `Object ${hash} is referenced at HEAD by ` +
143
+ `${references.length} row(s)`,
144
+ details: { references },
145
+ });
146
+ }
147
+ severed.push(...references);
148
+ details.severedReferences = references;
149
+ context.store.db
150
+ .prepare("UPDATE objects SET forgotten_at=? WHERE object_hash=?")
151
+ .run(now, row.object_hash);
152
+ });
153
+ revision = mutation.revision;
154
+ }
155
+ const deletedLocal = await context.objects.deleteLocal(hash);
156
+ let deletedRemote = false;
157
+ // Remote deletion defaults on: a forget that leaves remote bytes
158
+ // readable is not a forget. `unpublish` is a no-op without a remote.
159
+ if (options.remote !== false) {
160
+ deletedRemote = await context.objects.unpublish(hash);
161
+ if (deletedRemote)
162
+ clearPublication(context, hash);
163
+ }
164
+ return ok({
165
+ hash: row.object_hash,
166
+ sizeBytes: row.size_bytes,
167
+ deletedLocal,
168
+ deletedRemote,
169
+ severedReferences: severed,
170
+ alreadyForgotten,
171
+ }, revision);
172
+ });
173
+ }
174
+ /**
175
+ * Sweeps content objects that nothing references at HEAD.
176
+ *
177
+ * A hash is referenced when a HEAD row of a semantic table names it in a
178
+ * first-class `object_hash`/`payload_hash` column
179
+ * (`artifact_files`, `artifact_streams`, `pinned_search_results`,
180
+ * `sequence_clips`, `transcripts`) or inside an engine-written JSON column
181
+ * that embeds object hashes (`cell_references.snapshot_json`,
182
+ * `pinned_search_results.location_json`, `caption_cues.source_range_json`).
183
+ * Everything else — objects whose referencing rows were deleted by later
184
+ * commits, and stray local files that never got an `objects` row — is
185
+ * collected. Collection is recorded as one semantic commit that sets
186
+ * `objects.forgotten_at` on every collected row: rows stay as tombstones,
187
+ * old revisions still know the hash and size, and their reads surface
188
+ * OBJECT_UNAVAILABLE.
189
+ *
190
+ * HEAD is the commit the engine last wrote; historical revisions are not
191
+ * consulted, which is exactly what makes restoring an old revision after GC
192
+ * a tombstone read. The reference scan runs inside the serialized semantic
193
+ * section, and stray files younger than the grace window are left alone, so
194
+ * GC is safe to run alongside normal engine writes.
195
+ */
196
+ async function collectGarbage(context, options = {}) {
197
+ return resultOf(async () => {
198
+ const dryRun = options.dryRun ?? false;
199
+ if (dryRun) {
200
+ const scan = scanCollectable(context);
201
+ const report = {
202
+ dryRun,
203
+ scannedObjects: scan.scanned,
204
+ referencedObjects: scan.referenced,
205
+ collected: scan.collectable,
206
+ reclaimedBytes: reclaimedBytes(scan.collectable),
207
+ };
208
+ return report;
209
+ }
210
+ // The local listing happens outside the serialized section — the stray
211
+ // grace window (below) protects imports racing this listing.
212
+ const localHashes = await context.objects.listLocal();
213
+ let scan = emptyScan();
214
+ // `details` and `writeSet` are filled by the mutation and read at
215
+ // commit-message time, which happens after the mutation ran.
216
+ const details = {};
217
+ const writeSet = [];
218
+ const mutation = await context.store.semantic({ operation: "gc_objects", tables: ["objects"], details, writeSet }, (_operationId, now) => {
219
+ // Scanning inside the serialized semantic section: no concurrent
220
+ // commit can add a reference between the scan and the tombstones.
221
+ scan = scanCollectable(context);
222
+ details.hashes = scan.collectable.map((object) => object.hash);
223
+ details.reclaimedBytes = reclaimedBytes(scan.collectable);
224
+ writeSet.push(...scan.collectable.map((object) => `object:${object.hash}`));
225
+ const markForgotten = context.store.db.prepare(`UPDATE objects SET forgotten_at=?
226
+ WHERE object_hash=? AND forgotten_at IS NULL`);
227
+ for (const object of scan.collectable) {
228
+ markForgotten.run(now, object.hash);
229
+ }
230
+ });
231
+ const revision = scan.collectable.length > 0 ? mutation.revision : undefined;
232
+ // Delete the bytes for everything collectable, plus any leftover local
233
+ // files for objects already forgotten (for example after an interrupted
234
+ // deleteObject).
235
+ const deleteHashes = new Set([
236
+ ...scan.collectable.map((object) => object.hash),
237
+ ...[...scan.forgotten].filter((hash) => localHashes.includes(hash)),
238
+ ]);
239
+ for (const hash of deleteHashes) {
240
+ await context.objects.deleteLocal(hash);
241
+ }
242
+ if (options.remote) {
243
+ // The remote pass covers every forgotten hash — not just the ones
244
+ // with local bytes or a runtime publication row — so an interrupted
245
+ // deleteObject or a lost runtime table cannot leave remote bytes
246
+ // readable forever. `unpublish` head-checks first, so already-absent
247
+ // objects cost one metadata call.
248
+ const remoteHashes = new Set([
249
+ ...scan.collectable.map((object) => object.hash),
250
+ ...scan.forgotten,
251
+ ]);
252
+ for (const hash of remoteHashes) {
253
+ if (await context.objects.unpublish(hash)) {
254
+ clearPublication(context, hash);
255
+ }
256
+ }
257
+ }
258
+ // Stray local files (bytes with no objects row) are swept only after
259
+ // the grace window, so an import that has written bytes but not yet
260
+ // committed its row cannot lose them.
261
+ const strayCutoff = Date.now() - (options.strayGraceMs ?? STRAY_GRACE_MS);
262
+ const stray = localHashes.filter((hash) => !scan.known.has(hash) && !deleteHashes.has(hash));
263
+ for (const hash of stray) {
264
+ try {
265
+ const fileStat = await stat(context.objects.pathFor(hash));
266
+ if (fileStat.mtimeMs > strayCutoff)
267
+ continue;
268
+ }
269
+ catch {
270
+ continue;
271
+ }
272
+ await context.objects.deleteLocal(hash);
273
+ }
274
+ let doltGcSummary;
275
+ if (options.doltGc) {
276
+ doltGcSummary = context.store.doltGc();
277
+ }
278
+ const report = {
279
+ dryRun,
280
+ scannedObjects: scan.scanned,
281
+ referencedObjects: scan.referenced,
282
+ collected: scan.collectable,
283
+ reclaimedBytes: reclaimedBytes(scan.collectable),
284
+ ...(doltGcSummary !== undefined ? { doltGc: doltGcSummary } : {}),
285
+ };
286
+ return ok(report, revision);
287
+ });
288
+ }
289
+ function emptyScan() {
290
+ return {
291
+ scanned: 0,
292
+ referenced: 0,
293
+ collectable: [],
294
+ forgotten: new Set(),
295
+ known: new Set(),
296
+ };
297
+ }
298
+ function scanCollectable(context) {
299
+ const referenced = referencedHashes(context);
300
+ const rows = context.store.db
301
+ .prepare(`SELECT object_hash, size_bytes FROM objects
302
+ ORDER BY created_at, object_hash`)
303
+ .all();
304
+ const known = new Set(rows.map((row) => row.object_hash));
305
+ const forgotten = forgottenHashes(context);
306
+ const collectable = [];
307
+ for (const row of rows) {
308
+ if (referenced.has(row.object_hash) || forgotten.has(row.object_hash)) {
309
+ continue;
310
+ }
311
+ collectable.push({ hash: row.object_hash, sizeBytes: row.size_bytes });
312
+ }
313
+ return {
314
+ scanned: rows.length,
315
+ referenced: referenced.size,
316
+ collectable,
317
+ forgotten,
318
+ known,
319
+ };
320
+ }
321
+ function reclaimedBytes(collectable) {
322
+ return collectable.reduce((total, object) => total + object.sizeBytes, 0);
323
+ }
324
+ function forgottenHashes(context) {
325
+ const rows = context.store.db
326
+ .prepare("SELECT object_hash AS hash FROM objects WHERE forgotten_at IS NOT NULL")
327
+ .all();
328
+ return new Set(rows.map((row) => row.hash));
329
+ }
330
+ /**
331
+ * Every hash referenced at HEAD. This is the precise GC root set; keep it
332
+ * in sync with the object-hash columns declared in src/schema.ts.
333
+ */
334
+ function referencedHashes(context) {
335
+ const hashes = new Set();
336
+ const queries = [
337
+ "SELECT object_hash AS hash FROM artifact_files",
338
+ "SELECT object_hash AS hash FROM artifact_streams",
339
+ "SELECT object_hash AS hash FROM pinned_search_results",
340
+ "SELECT object_hash AS hash FROM sequence_clips",
341
+ "SELECT object_hash AS hash FROM transcripts",
342
+ "SELECT payload_hash AS hash FROM transcripts",
343
+ ];
344
+ for (const query of queries) {
345
+ const rows = context.store.db.prepare(query).all();
346
+ for (const row of rows)
347
+ hashes.add(row.hash);
348
+ }
349
+ // Some engine-written JSON columns embed object hashes rather than
350
+ // naming them in a first-class column; honor them all as loose roots.
351
+ for (const query of JSON_ROOT_QUERIES) {
352
+ const rows = context.store.db.prepare(query).all();
353
+ for (const row of rows) {
354
+ if (row.payload === null)
355
+ continue;
356
+ for (const hash of jsonObjectHashes(row.payload))
357
+ hashes.add(hash);
358
+ }
359
+ }
360
+ return hashes;
361
+ }
362
+ /**
363
+ * Engine-written JSON columns that can carry `objectHash` values: notebook
364
+ * cell reference snapshots, pinned search result locations, and caption cue
365
+ * source ranges. Keep in sync with src/schema.ts.
366
+ */
367
+ const JSON_ROOT_QUERIES = [
368
+ "SELECT snapshot_json AS payload FROM cell_references",
369
+ "SELECT location_json AS payload FROM pinned_search_results",
370
+ "SELECT source_range_json AS payload FROM caption_cues",
371
+ ];
372
+ function jsonObjectHashes(snapshotJson) {
373
+ const snapshot = parseJson(snapshotJson, null);
374
+ const hashes = [];
375
+ const visit = (value) => {
376
+ if (Array.isArray(value)) {
377
+ for (const item of value)
378
+ visit(item);
379
+ }
380
+ else if (value !== null && typeof value === "object") {
381
+ for (const [key, item] of Object.entries(value)) {
382
+ if (key === "objectHash" &&
383
+ typeof item === "string" &&
384
+ /^[a-f0-9]{64}$/.test(item)) {
385
+ hashes.push(item);
386
+ }
387
+ else {
388
+ visit(item);
389
+ }
390
+ }
391
+ }
392
+ };
393
+ visit(snapshot);
394
+ return hashes;
395
+ }
396
+ /** All HEAD rows referencing one object, for deleteObject's IN_USE report. */
397
+ function objectReferences(context, hash) {
398
+ const references = [];
399
+ const collect = (table, query, ...params) => {
400
+ const rows = context.store.db
401
+ .prepare(query)
402
+ .all(...params);
403
+ for (const row of rows)
404
+ references.push({ table, id: row.id });
405
+ };
406
+ collect("artifact_files", `SELECT artifact_id || ':' || path AS id
407
+ FROM artifact_files WHERE object_hash=?`, hash);
408
+ collect("artifact_streams", "SELECT stream_id AS id FROM artifact_streams WHERE object_hash=?", hash);
409
+ collect("pinned_search_results", `SELECT notebook_id || ':' || cell_id || ':' || result_id AS id
410
+ FROM pinned_search_results WHERE object_hash=?`, hash);
411
+ collect("sequence_clips", "SELECT clip_id AS id FROM sequence_clips WHERE object_hash=?", hash);
412
+ collect("transcripts", `SELECT transcript_id AS id FROM transcripts
413
+ WHERE object_hash=? OR payload_hash=?`, hash, hash);
414
+ const jsonReferenceQueries = [
415
+ {
416
+ table: "cell_references",
417
+ query: `SELECT notebook_id || ':' || cell_id || ':' || reference_id AS id,
418
+ snapshot_json AS payload
419
+ FROM cell_references`,
420
+ },
421
+ {
422
+ table: "pinned_search_results",
423
+ query: `SELECT notebook_id || ':' || cell_id || ':' || result_id AS id,
424
+ location_json AS payload
425
+ FROM pinned_search_results`,
426
+ },
427
+ {
428
+ table: "caption_cues",
429
+ query: `SELECT cue_id AS id, source_range_json AS payload
430
+ FROM caption_cues WHERE source_range_json IS NOT NULL`,
431
+ },
432
+ ];
433
+ const seen = new Set(references.map((reference) => `${reference.table}:${reference.id}`));
434
+ for (const { table, query } of jsonReferenceQueries) {
435
+ const rows = context.store.db.prepare(query).all();
436
+ for (const row of rows) {
437
+ if (row.payload === null)
438
+ continue;
439
+ if (!jsonObjectHashes(row.payload).includes(hash))
440
+ continue;
441
+ if (seen.has(`${table}:${row.id}`))
442
+ continue;
443
+ seen.add(`${table}:${row.id}`);
444
+ references.push({ table, id: row.id });
445
+ }
446
+ }
447
+ return references;
448
+ }
449
+ function clearPublication(context, hash) {
450
+ context.store.runtime(() => {
451
+ context.store.db
452
+ .prepare("DELETE FROM runtime_object_publications WHERE object_hash=?")
453
+ .run(hash);
454
+ });
455
+ }
77
456
  function pendingObjects(context) {
78
457
  if (!context.config.remoteObjects)
79
458
  return [];
459
+ // Forgotten objects are tombstones: their bytes are gone on purpose, so
460
+ // backup must neither publish them nor report them as pending.
80
461
  return context.store.db
81
462
  .prepare(`SELECT o.object_hash, o.size_bytes
82
463
  FROM objects o
83
464
  LEFT JOIN runtime_object_publications p
84
465
  ON p.object_hash=o.object_hash
85
- WHERE p.object_hash IS NULL
466
+ WHERE p.object_hash IS NULL AND o.forgotten_at IS NULL
86
467
  ORDER BY o.created_at, o.object_hash`)
87
468
  .all();
88
469
  }
@@ -94,7 +475,7 @@ function countPendingObjects(context) {
94
475
  FROM objects o
95
476
  LEFT JOIN runtime_object_publications p
96
477
  ON p.object_hash=o.object_hash
97
- WHERE p.object_hash IS NULL`)
478
+ WHERE p.object_hash IS NULL AND o.forgotten_at IS NULL`)
98
479
  .get();
99
480
  return row.count;
100
481
  }
@@ -1 +1 @@
1
- {"version":3,"file":"storage.js","sourceRoot":"","sources":["../src/storage.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"storage.js","sourceRoot":"","sources":["../src/storage.ts"],"names":[],"mappings":"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"}