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.
- package/README.md +87 -41
- package/dist/artifact-names.d.ts +6 -0
- package/dist/artifact-names.d.ts.map +1 -0
- package/dist/artifact-names.js +56 -0
- package/dist/artifact-names.js.map +1 -0
- package/dist/artifacts.d.ts.map +1 -1
- package/dist/artifacts.js +57 -23
- package/dist/artifacts.js.map +1 -1
- package/dist/books.js +2 -1
- package/dist/books.js.map +1 -1
- package/dist/cas.d.ts +27 -1
- package/dist/cas.d.ts.map +1 -1
- package/dist/cas.js +78 -6
- package/dist/cas.js.map +1 -1
- package/dist/catalog-metadata.d.ts +56 -0
- package/dist/catalog-metadata.d.ts.map +1 -0
- package/dist/catalog-metadata.js +42 -0
- package/dist/catalog-metadata.js.map +1 -0
- package/dist/communications.js +4 -2
- package/dist/communications.js.map +1 -1
- package/dist/context.d.ts +6 -1
- package/dist/context.d.ts.map +1 -1
- package/dist/context.js +35 -6
- package/dist/context.js.map +1 -1
- package/dist/domain.d.ts +4 -0
- package/dist/domain.d.ts.map +1 -1
- package/dist/domain.js +870 -58
- package/dist/domain.js.map +1 -1
- package/dist/edit-policy.d.ts +3 -0
- package/dist/edit-policy.d.ts.map +1 -0
- package/dist/edit-policy.js +6 -0
- package/dist/edit-policy.js.map +1 -0
- package/dist/edits.d.ts +10 -0
- package/dist/edits.d.ts.map +1 -0
- package/dist/edits.js +1392 -0
- package/dist/edits.js.map +1 -0
- package/dist/engine-types.d.ts +110 -60
- package/dist/engine-types.d.ts.map +1 -1
- package/dist/engine-types.js +33 -0
- package/dist/engine-types.js.map +1 -1
- package/dist/engine.d.ts +69 -8
- package/dist/engine.d.ts.map +1 -1
- package/dist/engine.js +24 -18
- package/dist/engine.js.map +1 -1
- package/dist/files.d.ts.map +1 -1
- package/dist/files.js +31 -27
- package/dist/files.js.map +1 -1
- package/dist/fork.d.ts +147 -0
- package/dist/fork.d.ts.map +1 -0
- package/dist/fork.js +609 -0
- package/dist/fork.js.map +1 -0
- package/dist/history.d.ts +0 -4
- package/dist/history.d.ts.map +1 -1
- package/dist/history.js +166 -595
- package/dist/history.js.map +1 -1
- package/dist/index.d.ts +16 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +12 -2
- package/dist/index.js.map +1 -1
- package/dist/job-queue.d.ts +2 -0
- package/dist/job-queue.d.ts.map +1 -1
- package/dist/job-queue.js +29 -2
- package/dist/job-queue.js.map +1 -1
- package/dist/media.d.ts.map +1 -1
- package/dist/media.js +1 -0
- package/dist/media.js.map +1 -1
- package/dist/merge-policy.d.ts +99 -0
- package/dist/merge-policy.d.ts.map +1 -0
- package/dist/merge-policy.js +310 -0
- package/dist/merge-policy.js.map +1 -0
- package/dist/metadata.d.ts.map +1 -1
- package/dist/metadata.js +15 -20
- package/dist/metadata.js.map +1 -1
- package/dist/migration.d.ts +9 -0
- package/dist/migration.d.ts.map +1 -0
- package/dist/migration.js +534 -0
- package/dist/migration.js.map +1 -0
- package/dist/mvp-contract-fixtures.d.ts +244 -0
- package/dist/mvp-contract-fixtures.d.ts.map +1 -0
- package/dist/mvp-contract-fixtures.js +556 -0
- package/dist/mvp-contract-fixtures.js.map +1 -0
- package/dist/mvp-contracts.d.ts +761 -0
- package/dist/mvp-contracts.d.ts.map +1 -0
- package/dist/mvp-contracts.js +59 -0
- package/dist/mvp-contracts.js.map +1 -0
- package/dist/mvp-time.d.ts +54 -0
- package/dist/mvp-time.d.ts.map +1 -0
- package/dist/mvp-time.js +148 -0
- package/dist/mvp-time.js.map +1 -0
- package/dist/notebook/types.d.ts +113 -8
- package/dist/notebook/types.d.ts.map +1 -1
- package/dist/order-keys.d.ts +22 -0
- package/dist/order-keys.d.ts.map +1 -0
- package/dist/order-keys.js +262 -0
- package/dist/order-keys.js.map +1 -0
- package/dist/runtime-services.js +4 -2
- package/dist/runtime-services.js.map +1 -1
- package/dist/schema.d.ts +24 -5
- package/dist/schema.d.ts.map +1 -1
- package/dist/schema.js +644 -132
- package/dist/schema.js.map +1 -1
- package/dist/search-benchmark.d.ts +4 -0
- package/dist/search-benchmark.d.ts.map +1 -0
- package/dist/search-benchmark.js +144 -0
- package/dist/search-benchmark.js.map +1 -0
- package/dist/sequences.d.ts +20 -0
- package/dist/sequences.d.ts.map +1 -0
- package/dist/sequences.js +825 -0
- package/dist/sequences.js.map +1 -0
- package/dist/similarity.js +1 -1
- package/dist/storage.d.ts +3 -1
- package/dist/storage.d.ts.map +1 -1
- package/dist/storage.js +388 -7
- package/dist/storage.js.map +1 -1
- package/dist/store.d.ts +63 -2
- package/dist/store.d.ts.map +1 -1
- package/dist/store.js +351 -65
- package/dist/store.js.map +1 -1
- package/dist/streams.d.ts +10 -0
- package/dist/streams.d.ts.map +1 -0
- package/dist/streams.js +183 -0
- package/dist/streams.js.map +1 -0
- package/dist/temporal-models.d.ts +48 -0
- package/dist/temporal-models.d.ts.map +1 -0
- package/dist/temporal-models.js +278 -0
- package/dist/temporal-models.js.map +1 -0
- package/dist/temporal-search.d.ts +29 -0
- package/dist/temporal-search.d.ts.map +1 -0
- package/dist/temporal-search.js +1507 -0
- package/dist/temporal-search.js.map +1 -0
- package/dist/transcripts.d.ts +16 -0
- package/dist/transcripts.d.ts.map +1 -0
- package/dist/transcripts.js +519 -0
- package/dist/transcripts.js.map +1 -0
- package/docs/engine-layout.md +346 -106
- package/docs/mvp-prd.md +918 -0
- package/fixtures/media/vancat.mp4 +0 -0
- package/fixtures/media/vancat_profile.jpg +0 -0
- package/fixtures/v5/contract-fixtures.json +1532 -0
- package/package.json +30 -5
- package/dist/history-types.d.ts +0 -74
- package/dist/history-types.d.ts.map +0 -1
- package/dist/history-types.js +0 -2
- package/dist/history-types.js.map +0 -1
- package/dist/timeline.d.ts +0 -9
- package/dist/timeline.d.ts.map +0 -1
- package/dist/timeline.js +0 -236
- 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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"}
|
package/dist/similarity.js
CHANGED
|
@@ -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.
|
|
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
|
package/dist/storage.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../src/storage.ts"],"names":[],"mappings":"
|
|
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
|
-
|
|
64
|
-
|
|
65
|
-
|
|
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
|
}
|
package/dist/storage.js.map
CHANGED
|
@@ -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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"}
|