videobook-engine 4.2.0 → 5.3.2

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 (244) hide show
  1. package/README.md +84 -39
  2. package/dist/artifacts.d.ts +5 -10
  3. package/dist/artifacts.d.ts.map +1 -1
  4. package/dist/artifacts.js +79 -142
  5. package/dist/artifacts.js.map +1 -1
  6. package/dist/books.d.ts +1 -1
  7. package/dist/books.d.ts.map +1 -1
  8. package/dist/books.js +16 -9
  9. package/dist/books.js.map +1 -1
  10. package/dist/cas.d.ts +2 -1
  11. package/dist/cas.d.ts.map +1 -1
  12. package/dist/cas.js +33 -4
  13. package/dist/cas.js.map +1 -1
  14. package/dist/catalog-gc-state.d.ts +4 -0
  15. package/dist/catalog-gc-state.d.ts.map +1 -0
  16. package/dist/catalog-gc-state.js +49 -0
  17. package/dist/catalog-gc-state.js.map +1 -0
  18. package/dist/catalog-metadata.d.ts +2 -2
  19. package/dist/catalog-metadata.js +3 -3
  20. package/dist/catalog-metadata.js.map +1 -1
  21. package/dist/context.d.ts +5 -5
  22. package/dist/context.d.ts.map +1 -1
  23. package/dist/context.js +17 -49
  24. package/dist/context.js.map +1 -1
  25. package/dist/domain.d.ts +35 -2
  26. package/dist/domain.d.ts.map +1 -1
  27. package/dist/domain.js +131 -161
  28. package/dist/domain.js.map +1 -1
  29. package/dist/edits.js +2 -2
  30. package/dist/edits.js.map +1 -1
  31. package/dist/engine-types.d.ts +159 -39
  32. package/dist/engine-types.d.ts.map +1 -1
  33. package/dist/engine-types.js +2 -1
  34. package/dist/engine-types.js.map +1 -1
  35. package/dist/engine.d.ts +30 -20
  36. package/dist/engine.d.ts.map +1 -1
  37. package/dist/engine.js +46 -4
  38. package/dist/engine.js.map +1 -1
  39. package/dist/files.d.ts +10 -0
  40. package/dist/files.d.ts.map +1 -1
  41. package/dist/files.js +49 -2
  42. package/dist/files.js.map +1 -1
  43. package/dist/fork.d.ts +14 -30
  44. package/dist/fork.d.ts.map +1 -1
  45. package/dist/fork.js +18 -27
  46. package/dist/fork.js.map +1 -1
  47. package/dist/generations.d.ts +9 -0
  48. package/dist/generations.d.ts.map +1 -0
  49. package/dist/generations.js +175 -0
  50. package/dist/generations.js.map +1 -0
  51. package/dist/history.d.ts +2 -1
  52. package/dist/history.d.ts.map +1 -1
  53. package/dist/history.js +30 -57
  54. package/dist/history.js.map +1 -1
  55. package/dist/index.d.ts +8 -6
  56. package/dist/index.d.ts.map +1 -1
  57. package/dist/index.js +5 -5
  58. package/dist/index.js.map +1 -1
  59. package/dist/inline-temporal-models.d.ts +43 -0
  60. package/dist/inline-temporal-models.d.ts.map +1 -0
  61. package/dist/inline-temporal-models.js +236 -0
  62. package/dist/inline-temporal-models.js.map +1 -0
  63. package/dist/isolated-models.d.ts +8 -0
  64. package/dist/isolated-models.d.ts.map +1 -0
  65. package/dist/isolated-models.js +25 -0
  66. package/dist/isolated-models.js.map +1 -0
  67. package/dist/job-queue.d.ts +1 -1
  68. package/dist/job-queue.d.ts.map +1 -1
  69. package/dist/job-queue.js +20 -6
  70. package/dist/job-queue.js.map +1 -1
  71. package/dist/media-image.d.ts +8 -0
  72. package/dist/media-image.d.ts.map +1 -0
  73. package/dist/media-image.js +41 -0
  74. package/dist/media-image.js.map +1 -0
  75. package/dist/media-process.d.ts +13 -0
  76. package/dist/media-process.d.ts.map +1 -0
  77. package/dist/media-process.js +89 -0
  78. package/dist/media-process.js.map +1 -0
  79. package/dist/media.d.ts +3 -3
  80. package/dist/media.d.ts.map +1 -1
  81. package/dist/media.js +5 -5
  82. package/dist/media.js.map +1 -1
  83. package/dist/merge-policy.d.ts +16 -36
  84. package/dist/merge-policy.d.ts.map +1 -1
  85. package/dist/merge-policy.js +13 -125
  86. package/dist/merge-policy.js.map +1 -1
  87. package/dist/metadata.d.ts +1 -0
  88. package/dist/metadata.d.ts.map +1 -1
  89. package/dist/metadata.js +13 -3
  90. package/dist/metadata.js.map +1 -1
  91. package/dist/migrate-grid-text.d.ts +17 -0
  92. package/dist/migrate-grid-text.d.ts.map +1 -0
  93. package/dist/migrate-grid-text.js +117 -0
  94. package/dist/migrate-grid-text.js.map +1 -0
  95. package/dist/migrate-grid-v22.d.ts +12 -0
  96. package/dist/migrate-grid-v22.d.ts.map +1 -0
  97. package/dist/migrate-grid-v22.js +166 -0
  98. package/dist/migrate-grid-v22.js.map +1 -0
  99. package/dist/migrate-grid-v23.d.ts +10 -0
  100. package/dist/migrate-grid-v23.d.ts.map +1 -0
  101. package/dist/migrate-grid-v23.js +31 -0
  102. package/dist/migrate-grid-v23.js.map +1 -0
  103. package/dist/migration-notebooks.d.ts +25 -0
  104. package/dist/migration-notebooks.d.ts.map +1 -0
  105. package/dist/migration-notebooks.js +131 -0
  106. package/dist/migration-notebooks.js.map +1 -0
  107. package/dist/migration-source.d.ts +6 -0
  108. package/dist/migration-source.d.ts.map +1 -0
  109. package/dist/migration-source.js +37 -0
  110. package/dist/migration-source.js.map +1 -0
  111. package/dist/migration-timeline.d.ts +36 -0
  112. package/dist/migration-timeline.d.ts.map +1 -0
  113. package/dist/migration-timeline.js +187 -0
  114. package/dist/migration-timeline.js.map +1 -0
  115. package/dist/migration-validation.d.ts +12 -0
  116. package/dist/migration-validation.d.ts.map +1 -0
  117. package/dist/migration-validation.js +68 -0
  118. package/dist/migration-validation.js.map +1 -0
  119. package/dist/migration.d.ts.map +1 -1
  120. package/dist/migration.js +220 -119
  121. package/dist/migration.js.map +1 -1
  122. package/dist/model-cache-paths.d.ts +2 -0
  123. package/dist/model-cache-paths.d.ts.map +1 -0
  124. package/dist/model-cache-paths.js +5 -0
  125. package/dist/model-cache-paths.js.map +1 -0
  126. package/dist/model-checksums.json +338 -0
  127. package/dist/model-file-resolver.d.ts +30 -0
  128. package/dist/model-file-resolver.d.ts.map +1 -0
  129. package/dist/model-file-resolver.js +304 -0
  130. package/dist/model-file-resolver.js.map +1 -0
  131. package/dist/model-identity.d.ts +13 -0
  132. package/dist/model-identity.d.ts.map +1 -0
  133. package/dist/model-identity.js +44 -0
  134. package/dist/model-identity.js.map +1 -0
  135. package/dist/model-worker-errors.d.ts +3 -0
  136. package/dist/model-worker-errors.d.ts.map +1 -0
  137. package/dist/model-worker-errors.js +12 -0
  138. package/dist/model-worker-errors.js.map +1 -0
  139. package/dist/model-worker-pool.d.ts +32 -0
  140. package/dist/model-worker-pool.d.ts.map +1 -0
  141. package/dist/model-worker-pool.js +269 -0
  142. package/dist/model-worker-pool.js.map +1 -0
  143. package/dist/model-worker-protocol.d.ts +42 -0
  144. package/dist/model-worker-protocol.d.ts.map +1 -0
  145. package/dist/model-worker-protocol.js +2 -0
  146. package/dist/model-worker-protocol.js.map +1 -0
  147. package/dist/model-worker.d.ts +2 -0
  148. package/dist/model-worker.d.ts.map +1 -0
  149. package/dist/model-worker.js +91 -0
  150. package/dist/model-worker.js.map +1 -0
  151. package/dist/mvp-contract-fixtures.js +1 -1
  152. package/dist/mvp-contract-fixtures.js.map +1 -1
  153. package/dist/mvp-contracts.d.ts +32 -8
  154. package/dist/mvp-contracts.d.ts.map +1 -1
  155. package/dist/mvp-contracts.js +1 -1
  156. package/dist/mvp-contracts.js.map +1 -1
  157. package/dist/notebook/types.d.ts +1 -29
  158. package/dist/notebook/types.d.ts.map +1 -1
  159. package/dist/notebook-grid.d.ts +46 -0
  160. package/dist/notebook-grid.d.ts.map +1 -0
  161. package/dist/notebook-grid.js +187 -0
  162. package/dist/notebook-grid.js.map +1 -0
  163. package/dist/notebook-media-artifact.d.ts +23 -0
  164. package/dist/notebook-media-artifact.d.ts.map +1 -0
  165. package/dist/notebook-media-artifact.js +67 -0
  166. package/dist/notebook-media-artifact.js.map +1 -0
  167. package/dist/notebook-mentions.d.ts +20 -0
  168. package/dist/notebook-mentions.d.ts.map +1 -0
  169. package/dist/notebook-mentions.js +54 -0
  170. package/dist/notebook-mentions.js.map +1 -0
  171. package/dist/runtime-services.js +4 -9
  172. package/dist/runtime-services.js.map +1 -1
  173. package/dist/schema.d.ts +4 -19
  174. package/dist/schema.d.ts.map +1 -1
  175. package/dist/schema.js +66 -92
  176. package/dist/schema.js.map +1 -1
  177. package/dist/search-provider-access.d.ts +11 -0
  178. package/dist/search-provider-access.d.ts.map +1 -0
  179. package/dist/search-provider-access.js +42 -0
  180. package/dist/search-provider-access.js.map +1 -0
  181. package/dist/similarity.d.ts +60 -1
  182. package/dist/similarity.d.ts.map +1 -1
  183. package/dist/similarity.js +174 -154
  184. package/dist/similarity.js.map +1 -1
  185. package/dist/status.js +8 -10
  186. package/dist/status.js.map +1 -1
  187. package/dist/store.d.ts +16 -2
  188. package/dist/store.d.ts.map +1 -1
  189. package/dist/store.js +171 -17
  190. package/dist/store.js.map +1 -1
  191. package/dist/temporal-index-cache.d.ts +13 -0
  192. package/dist/temporal-index-cache.d.ts.map +1 -0
  193. package/dist/temporal-index-cache.js +59 -0
  194. package/dist/temporal-index-cache.js.map +1 -0
  195. package/dist/temporal-model-manifests.d.ts +17 -0
  196. package/dist/temporal-model-manifests.d.ts.map +1 -0
  197. package/dist/temporal-model-manifests.js +33 -0
  198. package/dist/temporal-model-manifests.js.map +1 -0
  199. package/dist/temporal-models.d.ts +20 -35
  200. package/dist/temporal-models.d.ts.map +1 -1
  201. package/dist/temporal-models.js +23 -257
  202. package/dist/temporal-models.js.map +1 -1
  203. package/dist/temporal-search.d.ts +6 -3
  204. package/dist/temporal-search.d.ts.map +1 -1
  205. package/dist/temporal-search.js +438 -122
  206. package/dist/temporal-search.js.map +1 -1
  207. package/dist/temporal-vector-index.d.ts +46 -0
  208. package/dist/temporal-vector-index.d.ts.map +1 -0
  209. package/dist/temporal-vector-index.js +220 -0
  210. package/dist/temporal-vector-index.js.map +1 -0
  211. package/dist/third-party/@huggingface-jinja.LICENSE +21 -0
  212. package/dist/third-party/@huggingface-tokenizers.LICENSE +201 -0
  213. package/dist/third-party/@huggingface-transformers.LICENSE +202 -0
  214. package/dist/third-party/onnxruntime-common.LICENSE +21 -0
  215. package/dist/third-party/versions.json +23 -0
  216. package/dist/transformers-runtime.d.ts +2 -0
  217. package/dist/transformers-runtime.d.ts.map +1 -0
  218. package/dist/transformers-runtime.js +33014 -0
  219. package/dist/transformers-runtime.js.LEGAL.txt +12 -0
  220. package/dist/transformers-runtime.js.map +7 -0
  221. package/docs/doltlite-staging.md +69 -0
  222. package/docs/edit-performance.md +83 -0
  223. package/docs/engine-layout.md +56 -50
  224. package/docs/media-limits.md +57 -0
  225. package/docs/model-download-policy.md +15 -0
  226. package/docs/model-integrity.md +72 -0
  227. package/docs/model-isolation.md +72 -0
  228. package/docs/model-revisions.md +54 -0
  229. package/docs/mvp-prd.md +2 -2
  230. package/docs/release-evidence.md +300 -0
  231. package/docs/search-provider-consent.md +67 -0
  232. package/docs/semantic-durability.md +55 -0
  233. package/docs/temporal-search-performance.md +260 -0
  234. package/docs/v4-migration.md +83 -0
  235. package/fixtures/v5/contract-fixtures.json +4 -4
  236. package/package.json +31 -13
  237. package/dist/artifact-names.d.ts +0 -6
  238. package/dist/artifact-names.d.ts.map +0 -1
  239. package/dist/artifact-names.js +0 -56
  240. package/dist/artifact-names.js.map +0 -1
  241. package/dist/resolver.d.ts +0 -15
  242. package/dist/resolver.d.ts.map +0 -1
  243. package/dist/resolver.js +0 -81
  244. package/dist/resolver.js.map +0 -1
package/dist/migration.js CHANGED
@@ -1,12 +1,18 @@
1
1
  import { createHash } from "node:crypto";
2
- import { existsSync, linkSync, mkdirSync, statSync } from "node:fs";
3
- import { copyFile, mkdir, readdir, rm } from "node:fs/promises";
2
+ import { createReadStream, existsSync, linkSync, mkdirSync, statSync } from "node:fs";
3
+ import { copyFile, lstat, mkdir, mkdtemp, readFile, readdir, realpath, rename, rm, rmdir, writeFile } from "node:fs/promises";
4
4
  import * as path from "node:path";
5
+ import { setImmediate as yieldTurn } from "node:timers/promises";
5
6
  import { DatabaseSync } from "@dolthub/doltlite";
6
7
  import { v7 as uuidv7 } from "uuid";
7
8
  import { ObjectStore } from "./cas.js";
8
9
  import { createEngine } from "./engine.js";
9
10
  import { initialOrderKeys } from "./order-keys.js";
11
+ import { legacyNotebookPlan } from "./migration-notebooks.js";
12
+ import { legacyReferenceIssues, legacyStateSummary } from "./migration-validation.js";
13
+ import { convertLegacyTimeline, legacyTimelinePlan } from "./migration-timeline.js";
14
+ import { openV4SourceSnapshot } from "./migration-source.js";
15
+ import { EngineFault } from "./store.js";
10
16
  import { err, ok, } from "./engine-types.js";
11
17
  import { MVP_CONTRACT_VERSION, MVP_LEGACY_SCHEMA_VERSION, MVP_SCHEMA_VERSION, } from "./mvp-contracts.js";
12
18
  import { SEMANTIC_TABLES } from "./schema.js";
@@ -19,13 +25,13 @@ const COPY_TABLES = [
19
25
  "artifact_metadata",
20
26
  "entities",
21
27
  "notebooks",
28
+ "runs",
22
29
  "audio_waveforms",
23
30
  "prompt_entries",
24
31
  "messages",
25
- "job_runs",
26
32
  ];
27
33
  export function dryRunV4Migration(sourceRoot) {
28
- let database;
34
+ let snapshot;
29
35
  try {
30
36
  const root = path.resolve(sourceRoot);
31
37
  const databasePath = path.join(root, "data", "videobook.db");
@@ -35,7 +41,8 @@ export function dryRunV4Migration(sourceRoot) {
35
41
  message: `Schema-v4 catalog not found: ${databasePath}`,
36
42
  });
37
43
  }
38
- database = new DatabaseSync(databasePath, { readOnly: true });
44
+ snapshot = openV4SourceSnapshot(root);
45
+ const database = snapshot.database;
39
46
  const schema = database
40
47
  .prepare("SELECT version FROM engine_schema WHERE singleton=1")
41
48
  .get();
@@ -53,7 +60,10 @@ export function dryRunV4Migration(sourceRoot) {
53
60
  const timelineAudioCount = count(database, "timeline_audio");
54
61
  const objectCount = count(database, "objects");
55
62
  const issues = migrationIssues(database, root, book.book_id);
63
+ const currentState = legacyStateSummary(database);
56
64
  const migrationKey = migrationDigest({
65
+ conversionVersion: 3,
66
+ destinationSchemaVersion: MVP_SCHEMA_VERSION,
57
67
  sourceBookId: book.book_id,
58
68
  sourceHeadRevision,
59
69
  artifactCount,
@@ -61,6 +71,7 @@ export function dryRunV4Migration(sourceRoot) {
61
71
  timelineSlotCount,
62
72
  timelineAudioCount,
63
73
  objectCount,
74
+ currentState: currentState.digest,
64
75
  });
65
76
  return ok({
66
77
  contractVersion: MVP_CONTRACT_VERSION,
@@ -82,13 +93,14 @@ export function dryRunV4Migration(sourceRoot) {
82
93
  return err(migrationError(cause));
83
94
  }
84
95
  finally {
85
- database?.close();
96
+ snapshot?.close();
86
97
  }
87
98
  }
88
99
  export function readV4BookIdentity(sourceRoot) {
89
- let database;
100
+ let snapshot;
90
101
  try {
91
- database = new DatabaseSync(path.join(path.resolve(sourceRoot), "data", "videobook.db"), { readOnly: true });
102
+ snapshot = openV4SourceSnapshot(path.resolve(sourceRoot));
103
+ const database = snapshot.database;
92
104
  const schema = database
93
105
  .prepare("SELECT version FROM engine_schema WHERE singleton=1")
94
106
  .get();
@@ -105,10 +117,12 @@ export function readV4BookIdentity(sourceRoot) {
105
117
  return err(migrationError(cause));
106
118
  }
107
119
  finally {
108
- database?.close();
120
+ snapshot?.close();
109
121
  }
110
122
  }
111
123
  export async function migrateV4(request) {
124
+ if (request.signal?.aborted)
125
+ return err({ code: "CANCELLED", message: "Schema-v4 migration cancelled" });
112
126
  const dryRun = dryRunV4Migration(request.sourceRoot);
113
127
  if (!dryRun.ok)
114
128
  return dryRun;
@@ -128,38 +142,61 @@ export async function migrateV4(request) {
128
142
  }
129
143
  if (request.dryRun)
130
144
  return dryRun;
145
+ if (request.expectedMigrationKey && request.expectedMigrationKey !== dryRun.value.migrationKey) {
146
+ return err({ code: "STALE_REVISION", message: "Schema-v4 current state changed after confirmation" });
147
+ }
131
148
  const blocking = dryRun.value.issues.filter((issue) => issue.severity === "error");
132
149
  if (blocking.length > 0) {
133
150
  return err({
134
- code: "OBJECT_UNAVAILABLE",
151
+ code: blocking.some((issue) => issue.code !== "MISSING_OBJECT" && issue.code !== "CORRUPT_OBJECT") ? "INVALID_INPUT" : "OBJECT_UNAVAILABLE",
135
152
  message: "Schema-v4 migration has blocking source issues",
136
153
  details: { issues: blocking },
137
154
  });
138
155
  }
139
- const sourceRoot = path.resolve(request.sourceRoot);
140
- const destinationRoot = path.resolve(request.destinationRoot);
141
- if (sourceRoot === destinationRoot || isInside(sourceRoot, destinationRoot)) {
156
+ let sourceRoot = path.resolve(request.sourceRoot);
157
+ let targetRoot = path.resolve(request.destinationRoot);
158
+ if (sourceRoot === targetRoot || isInside(sourceRoot, targetRoot)) {
142
159
  return err({
143
160
  code: "INVALID_INPUT",
144
161
  message: "Migration destination must be separate from the schema-v4 root",
145
162
  });
146
163
  }
147
- const destinationCheck = await emptyDestination(destinationRoot);
148
- if (!destinationCheck.ok)
149
- return destinationCheck;
150
164
  let sourceDatabase;
165
+ let sourceSnapshot;
151
166
  let destinationDatabase;
152
- let destinationCreated = false;
167
+ let engine;
168
+ let destinationRoot;
153
169
  try {
154
- sourceDatabase = new DatabaseSync(path.join(sourceRoot, "data", "videobook.db"), { readOnly: true });
170
+ sourceRoot = await realpath(sourceRoot);
171
+ if (existsSync(targetRoot) && (await lstat(targetRoot)).isSymbolicLink()) {
172
+ return err({ code: "INVALID_INPUT", message: "Migration destination cannot be a symbolic link" });
173
+ }
174
+ targetRoot = await canonicalDestination(targetRoot);
175
+ if (sourceRoot === targetRoot || isInside(sourceRoot, targetRoot)) {
176
+ return err({ code: "INVALID_INPUT", message: "Migration destination must be separate from the schema-v4 root" });
177
+ }
178
+ const completed = await completedMigration(targetRoot, dryRun.value);
179
+ if (completed)
180
+ return completed;
181
+ const destinationCheck = await emptyDestination(targetRoot);
182
+ if (!destinationCheck.ok)
183
+ return destinationCheck;
184
+ await mkdir(path.dirname(targetRoot), { recursive: true });
185
+ destinationRoot = await mkdtemp(`${targetRoot}.migrating-`);
186
+ migrationProgress(request, "copy-state", 0, COPY_TABLES.length);
187
+ sourceSnapshot = openV4SourceSnapshot(sourceRoot);
188
+ sourceDatabase = sourceSnapshot.database;
155
189
  const book = sourceBook(sourceDatabase);
156
- const initial = createEngine({
190
+ const notebooks = legacyNotebookPlan(sourceDatabase);
191
+ const timeline = legacyTimelinePlan(sourceDatabase);
192
+ const legacyHistory = legacyStateSummary(sourceDatabase);
193
+ engine = createEngine({
157
194
  rootDir: destinationRoot,
158
- initialBookSlug: book.slug,
195
+ initialBookName: book.slug,
159
196
  });
160
- await initial.ready;
161
- initial.close();
162
- destinationCreated = true;
197
+ await engine.ready;
198
+ engine.close();
199
+ engine = undefined;
163
200
  destinationDatabase = new DatabaseSync(path.join(destinationRoot, "data", "videobook.db"));
164
201
  destinationDatabase.exec("PRAGMA foreign_keys=OFF");
165
202
  clearFreshDestination(destinationDatabase);
@@ -167,49 +204,60 @@ export async function migrateV4(request) {
167
204
  if (table === "notebooks") {
168
205
  copyLegacyNotebooks(sourceDatabase, destinationDatabase);
169
206
  }
207
+ else if (table === "book") {
208
+ copyLegacyBook(sourceDatabase, destinationDatabase);
209
+ }
210
+ else if (table === "artifacts") {
211
+ copyLegacyArtifacts(sourceDatabase, destinationDatabase);
212
+ }
170
213
  else {
171
- copyTable(sourceDatabase, destinationDatabase, table);
214
+ await copyTable(sourceDatabase, destinationDatabase, table, request.signal);
172
215
  }
216
+ migrationProgress(request, "copy-state", COPY_TABLES.indexOf(table) + 1, COPY_TABLES.length);
217
+ await yieldTurn();
173
218
  }
174
219
  destinationDatabase
175
220
  .prepare("UPDATE engine_schema SET version=? WHERE singleton=1")
176
221
  .run(MVP_SCHEMA_VERSION);
177
- // The legacy timeline triple does not exist in the v17 schema: the
178
- // timeline row only pins the primary sequence's render orientation, and
179
- // still-image slots convert into clips on that sequence. Timed-media
180
- // slots and timeline audio are dropped with a PROBE_REQUIRED dry-run
181
- // warning because clip conversion needs a media probe the v4 import
182
- // does not perform.
183
222
  initializePrimarySequence(destinationDatabase, book.book_id, sourceRender(sourceDatabase, book.book_id));
184
- convertStillTimelineSlots(sourceDatabase, destinationDatabase);
185
223
  stageMigration(destinationDatabase);
186
224
  destinationDatabase.close();
187
225
  destinationDatabase = undefined;
188
- const objectCounts = await copyObjects(sourceDatabase, sourceRoot, destinationRoot);
189
- sourceDatabase.close();
226
+ const objectCounts = await copyObjects(sourceDatabase, sourceRoot, destinationRoot, request);
227
+ sourceSnapshot.close();
228
+ sourceSnapshot = undefined;
190
229
  sourceDatabase = undefined;
191
- const engine = createEngine({ rootDir: destinationRoot });
230
+ engine = createEngine({ rootDir: destinationRoot });
192
231
  await engine.ready;
232
+ for (const notebook of notebooks.documents) {
233
+ const written = await engine.notebooks.write(notebook);
234
+ if (!written.ok)
235
+ throw new EngineFault(written.error);
236
+ migrationProgress(request, "copy-notebooks", notebooks.documents.indexOf(notebook) + 1, notebooks.documents.length);
237
+ }
238
+ const convertedTimeline = await convertLegacyTimeline(engine, timeline, new ObjectStore(path.join(destinationRoot, "data", "objects", "sha256")), request);
193
239
  const reportArtifact = await engine.artifacts.create({
194
240
  kind: "script",
195
- slug: "migration-report",
241
+ label: "migration-report",
196
242
  });
197
243
  if (!reportArtifact.ok) {
198
- engine.close();
199
- return reportArtifact;
244
+ throw new EngineFault(reportArtifact.error);
200
245
  }
201
246
  const report = {
202
247
  ...dryRun.value,
203
248
  conversion: {
204
- timeline: "still-image-slots-converted; timed-media-requires-probe",
249
+ version: 3,
250
+ timeline: convertedTimeline,
205
251
  similarity: "runtime-v4-discarded; v5-reindex-required",
252
+ jobs: "legacy job history remains in source audit; v5 runtime job IDs start fresh",
206
253
  sourceRoot,
254
+ notebooks: notebooks.decisions,
207
255
  },
256
+ legacyHistory: { sourceHeadRevision: dryRun.value.sourceHeadRevision, ...legacyHistory },
208
257
  };
209
258
  const reportFile = await engine.files.write(reportArtifact.value.artifactId, "migration-report.json", JSON.stringify(report));
210
259
  if (!reportFile.ok) {
211
- engine.close();
212
- return reportFile;
260
+ throw new EngineFault(reportFile.error);
213
261
  }
214
262
  // The import audit is an authored Dolt commit like every other record:
215
263
  // the audit payload lands in book_metadata and the commit hash becomes
@@ -224,12 +272,10 @@ export async function migrateV4(request) {
224
272
  reportArtifactId: reportArtifact.value.artifactId,
225
273
  });
226
274
  if (!audit.ok) {
227
- engine.close();
228
- return audit;
275
+ throw new EngineFault(audit.error);
229
276
  }
230
277
  if (!audit.revision) {
231
- engine.close();
232
- return err({
278
+ throw new EngineFault({
233
279
  code: "STORAGE_ERROR",
234
280
  message: "Migration audit commit did not return a revision",
235
281
  });
@@ -245,16 +291,87 @@ export async function migrateV4(request) {
245
291
  completedAt: Date.now(),
246
292
  };
247
293
  engine.close();
294
+ engine = undefined;
295
+ migrationProgress(request, "publish", 0, 1);
296
+ const sourceAfter = dryRunV4Migration(sourceRoot);
297
+ if (!sourceAfter.ok)
298
+ throw new EngineFault(sourceAfter.error);
299
+ if (sourceAfter.value.migrationKey !== dryRun.value.migrationKey) {
300
+ throw new EngineFault({ code: "STALE_REVISION", message: "Schema-v4 source changed during migration" });
301
+ }
302
+ await writeFile(path.join(destinationRoot, "migration-v4.json"), JSON.stringify({ format: 1, result }));
303
+ if (request.signal?.aborted)
304
+ throw new EngineFault({ code: "CANCELLED", message: "Schema-v4 migration cancelled" });
305
+ if (existsSync(targetRoot))
306
+ await rmdir(targetRoot);
307
+ await rename(destinationRoot, targetRoot);
308
+ destinationRoot = undefined;
248
309
  return ok(result);
249
310
  }
250
311
  catch (cause) {
251
- sourceDatabase?.close();
312
+ return err(migrationError(cause));
313
+ }
314
+ finally {
315
+ sourceSnapshot?.close();
252
316
  destinationDatabase?.close();
253
- if (destinationCreated) {
254
- await rm(destinationRoot, { recursive: true, force: true });
317
+ engine?.close();
318
+ if (destinationRoot)
319
+ await rm(destinationRoot, { recursive: true, force: true, maxRetries: 3 });
320
+ }
321
+ }
322
+ async function canonicalDestination(input) {
323
+ let ancestor = input;
324
+ const suffix = [];
325
+ for (;;) {
326
+ try {
327
+ return path.join(await realpath(ancestor), ...suffix.reverse());
255
328
  }
256
- return err(migrationError(cause));
329
+ catch (error) {
330
+ if (error.code !== "ENOENT" || path.dirname(ancestor) === ancestor)
331
+ throw error;
332
+ suffix.push(path.basename(ancestor));
333
+ ancestor = path.dirname(ancestor);
334
+ }
335
+ }
336
+ }
337
+ async function completedMigration(root, source) {
338
+ if (!existsSync(root))
339
+ return undefined;
340
+ if ((await lstat(root)).isSymbolicLink())
341
+ return err({ code: "INVALID_INPUT", message: "Migration destination cannot be a symbolic link" });
342
+ let receipt;
343
+ try {
344
+ receipt = JSON.parse(await readFile(path.join(root, "migration-v4.json"), "utf8"));
345
+ }
346
+ catch {
347
+ return undefined;
348
+ }
349
+ if (receipt.format !== 1 || receipt.result?.migrationKey !== source.migrationKey
350
+ || receipt.result.destinationBookId !== source.sourceBookId) {
351
+ return err({ code: "ALREADY_EXISTS", message: "Destination belongs to a different migration contract" });
352
+ }
353
+ const engine = createEngine({ rootDir: root });
354
+ try {
355
+ await engine.ready;
356
+ const result = receipt.result;
357
+ const audit = await engine.metadata.book.read(`migration.${source.migrationKey.replaceAll(":", ".")}`);
358
+ const report = await engine.files.read(result.reportArtifactId, "migration-report.json");
359
+ if (engine.book.get().bookId !== source.sourceBookId || !audit.ok || audit.value.migrationKey !== source.migrationKey
360
+ || audit.value.reportArtifactId !== result.reportArtifactId || !report.ok
361
+ || JSON.parse(report.value.toString()).migrationKey !== source.migrationKey
362
+ || !engine.history.resolveRevision(result.importActionId) || !engine.history.resolveRevision(result.destinationRevision)) {
363
+ return err({ code: "STORAGE_ERROR", message: "Completed migration receipt does not match its catalog and report" });
364
+ }
365
+ return ok(result);
257
366
  }
367
+ finally {
368
+ engine.close();
369
+ }
370
+ }
371
+ function migrationProgress(request, phase, completed, total) {
372
+ request.onProgress?.({ phase, completed, total });
373
+ if (request.signal?.aborted)
374
+ throw new EngineFault({ code: "CANCELLED", message: "Schema-v4 migration cancelled" });
258
375
  }
259
376
  function sourceBook(database) {
260
377
  const books = database
@@ -273,10 +390,16 @@ function count(database, table) {
273
390
  }
274
391
  function migrationIssues(database, root, bookId) {
275
392
  const issues = [];
393
+ issues.push(...legacyReferenceIssues(database), ...legacyNotebookPlan(database).issues, ...legacyTimelinePlan(database).issues);
276
394
  const objects = database
277
- .prepare("SELECT object_hash FROM objects ORDER BY object_hash")
395
+ .prepare("SELECT object_hash, size_bytes FROM objects ORDER BY object_hash")
278
396
  .all();
279
397
  for (const object of objects) {
398
+ if (!/^[a-f0-9]{64}$/.test(object.object_hash)) {
399
+ issues.push({ code: "INVALID_REFERENCE", severity: "error", resource: `object:${object.object_hash}`,
400
+ message: "Invalid content-addressed object hash" });
401
+ continue;
402
+ }
280
403
  if (!existsSync(objectPath(root, object.object_hash))) {
281
404
  issues.push({
282
405
  code: "MISSING_OBJECT",
@@ -285,22 +408,12 @@ function migrationIssues(database, root, bookId) {
285
408
  message: "Content-addressed object is missing from the schema-v4 root",
286
409
  });
287
410
  }
288
- }
289
- const timedSlots = database
290
- .prepare(`SELECT s.slot_id, a.artifact_id, a.kind
291
- FROM timeline_slots s
292
- JOIN artifacts a ON a.artifact_id=s.artifact_id
293
- WHERE a.kind <> 'image'
294
- ORDER BY s.ordinal, s.slot_id`)
295
- .all();
296
- for (const slot of timedSlots) {
297
- issues.push({
298
- code: "PROBE_REQUIRED",
299
- severity: "warning",
300
- resource: `timeline-slot:${slot.slot_id}`,
301
- message: `${slot.kind} timeline source requires media probing before clip conversion`,
302
- details: { artifactId: slot.artifact_id },
303
- });
411
+ else {
412
+ const info = statSync(objectPath(root, object.object_hash));
413
+ if (!info.isFile() || info.size !== object.size_bytes)
414
+ issues.push({ code: "CORRUPT_OBJECT", severity: "error",
415
+ resource: `object:${object.object_hash}`, message: "Object file type or size does not match the schema-v4 catalog" });
416
+ }
304
417
  }
305
418
  if (count(database, "artifacts") > 0) {
306
419
  issues.push({
@@ -336,7 +449,7 @@ function clearFreshDestination(database) {
336
449
  DELETE FROM book;
337
450
  `);
338
451
  }
339
- function copyTable(source, destination, table) {
452
+ async function copyTable(source, destination, table, signal) {
340
453
  const sourceColumns = columns(source, table);
341
454
  const destinationColumns = new Set(columns(destination, table));
342
455
  const shared = sourceColumns.filter((column) => destinationColumns.has(column));
@@ -349,8 +462,37 @@ function copyTable(source, destination, table) {
349
462
  return;
350
463
  const placeholders = shared.map(() => "?").join(", ");
351
464
  const insert = destination.prepare(`INSERT INTO ${table}(${shared.join(", ")}) VALUES (${placeholders})`);
352
- for (const row of rows) {
465
+ for (const [ordinal, row] of rows.entries()) {
353
466
  insert.run(...shared.map((column) => row[column] ?? null));
467
+ if (ordinal % 32 === 0) {
468
+ await yieldTurn();
469
+ if (signal?.aborted)
470
+ throw new EngineFault({ code: "CANCELLED", message: "Schema-v4 migration cancelled" });
471
+ }
472
+ }
473
+ }
474
+ /**
475
+ * Legacy schema-v4 catalogs name books and artifacts with slugs; the
476
+ * current schema stores free-text name/label columns instead, so the old
477
+ * slug is carried over as the display text.
478
+ */
479
+ function copyLegacyBook(source, destination) {
480
+ const rows = source
481
+ .prepare("SELECT book_id, slug, created_at FROM book")
482
+ .all();
483
+ const insert = destination.prepare("INSERT INTO book(book_id, name, created_at) VALUES (?, ?, ?)");
484
+ for (const row of rows) {
485
+ insert.run(row.book_id, row.slug, row.created_at);
486
+ }
487
+ }
488
+ function copyLegacyArtifacts(source, destination) {
489
+ const rows = source
490
+ .prepare("SELECT artifact_id, slug, kind, created_at FROM artifacts")
491
+ .all();
492
+ const insert = destination.prepare(`INSERT INTO artifacts(artifact_id, label, kind, created_at)
493
+ VALUES (?, ?, ?, ?)`);
494
+ for (const row of rows) {
495
+ insert.run(row.artifact_id, row.slug, row.kind, row.created_at);
354
496
  }
355
497
  }
356
498
  function copyLegacyNotebooks(source, destination) {
@@ -402,57 +544,6 @@ function initializePrimarySequence(database, bookId, render) {
402
544
  }
403
545
  insert.run(uuidv7(), sequenceId, "caption", initialOrderKeys(1)[0], "Captions", null, null, null);
404
546
  }
405
- /**
406
- * Legacy still-image timeline slots become clips on the primary sequence's
407
- * first video track, laid out back to back in legacy (ordinal, slot_id)
408
- * order. Timed media is not converted: the dry run flags every non-image
409
- * slot with PROBE_REQUIRED because clip conversion needs media probing the
410
- * import does not perform.
411
- */
412
- function convertStillTimelineSlots(source, destination) {
413
- const sequence = destination
414
- .prepare("SELECT sequence_id FROM sequences WHERE is_primary=1")
415
- .get();
416
- const track = destination
417
- .prepare(`SELECT track_id FROM sequence_tracks
418
- WHERE sequence_id=? AND kind='video'
419
- ORDER BY order_key, track_id LIMIT 1`)
420
- .get(sequence.sequence_id);
421
- const rows = source
422
- .prepare(`SELECT s.slot_id, s.artifact_id, s.ordinal, a.kind,
423
- f.path AS source_path, f.object_hash
424
- FROM timeline_slots s
425
- JOIN artifacts a ON a.artifact_id=s.artifact_id
426
- LEFT JOIN artifact_files f ON f.artifact_id=a.artifact_id
427
- WHERE a.kind='image'
428
- ORDER BY s.ordinal, s.slot_id, f.path`)
429
- .all();
430
- const seen = new Set();
431
- const insertClip = destination.prepare(`INSERT INTO sequence_clips(
432
- clip_id, track_id, source_kind, artifact_id, source_path,
433
- stream_id, object_hash, source_start_tick, source_duration_ticks,
434
- time_base_numerator, time_base_denominator, timeline_start_frame,
435
- duration_frames, speed_numerator, speed_denominator, reverse,
436
- audio_policy, gain_db, audio_muted, fade_in_frames, fade_out_frames,
437
- enabled
438
- ) VALUES (?, ?, 'still', ?, ?, NULL, ?, NULL, NULL, NULL, NULL,
439
- ?, 90, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 1)`);
440
- const insertTransform = destination.prepare(`INSERT INTO clip_transforms(
441
- clip_id, fit, position_x, position_y, scale_x, scale_y,
442
- anchor_x, anchor_y, rotation_degrees, crop_top, crop_right,
443
- crop_bottom, crop_left, opacity, blend_mode
444
- ) VALUES (?, 'fit', 0, 0, 1, 1, 0.5, 0.5, 0, 0, 0, 0, 0, 1, 'normal')`);
445
- let ordinal = 0;
446
- for (const row of rows) {
447
- if (seen.has(row.slot_id) || !row.source_path || !row.object_hash)
448
- continue;
449
- seen.add(row.slot_id);
450
- const clipId = uuidv7();
451
- insertClip.run(clipId, track.track_id, row.artifact_id, row.source_path, row.object_hash, ordinal * 90);
452
- insertTransform.run(clipId);
453
- ordinal += 1;
454
- }
455
- }
456
547
  function stageMigration(database) {
457
548
  for (const table of SEMANTIC_TABLES) {
458
549
  database.prepare("SELECT dolt_add(?) AS result").get(table);
@@ -463,7 +554,7 @@ function stageMigration(database) {
463
554
  if (!committed?.hash)
464
555
  throw new Error("Migration commit did not return a hash");
465
556
  }
466
- async function copyObjects(source, sourceRoot, destinationRoot) {
557
+ async function copyObjects(source, sourceRoot, destinationRoot, request) {
467
558
  const destinationObjects = path.join(destinationRoot, "data", "objects", "sha256");
468
559
  const store = new ObjectStore(destinationObjects);
469
560
  const objects = source
@@ -471,6 +562,7 @@ async function copyObjects(source, sourceRoot, destinationRoot) {
471
562
  .all();
472
563
  let copied = 0;
473
564
  let reused = 0;
565
+ migrationProgress(request, "copy-objects", 0, objects.length);
474
566
  for (const object of objects) {
475
567
  const sourcePath = objectPath(sourceRoot, object.object_hash);
476
568
  const destinationPath = store.pathFor(object.object_hash);
@@ -490,6 +582,13 @@ async function copyObjects(source, sourceRoot, destinationRoot) {
490
582
  }
491
583
  copied += 1;
492
584
  }
585
+ const hash = createHash("sha256");
586
+ for await (const chunk of createReadStream(destinationPath, { signal: request.signal }))
587
+ hash.update(chunk);
588
+ if (hash.digest("hex") !== object.object_hash) {
589
+ throw new EngineFault({ code: "OBJECT_UNAVAILABLE", message: `Object hash mismatch during migration: ${object.object_hash}` });
590
+ }
591
+ migrationProgress(request, "copy-objects", copied + reused, objects.length);
493
592
  }
494
593
  await copyWorkspaceMetadata(sourceRoot, destinationRoot);
495
594
  return { copied, reused };
@@ -517,6 +616,8 @@ function isInside(parent, candidate) {
517
616
  && !relative.startsWith(`..${path.sep}`);
518
617
  }
519
618
  function migrationError(cause) {
619
+ if (cause instanceof Error && cause.name === "AbortError")
620
+ return { code: "CANCELLED", message: "Schema-v4 migration cancelled" };
520
621
  if (typeof cause === "object"
521
622
  && cause !== null
522
623
  && "error" in cause
@@ -1 +1 @@
1
- {"version":3,"file":"migration.js","sourceRoot":"","sources":["../src/migration.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"migration.js","sourceRoot":"","sources":["../src/migration.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare function modelCacheStagingRoot(cacheDir: string, workerRoot: string): string;
2
+ //# sourceMappingURL=model-cache-paths.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model-cache-paths.d.ts","sourceRoot":"","sources":["../src/model-cache-paths.ts"],"names":[],"mappings":"AAEA,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAElF"}
@@ -0,0 +1,5 @@
1
+ import { basename, join } from "node:path";
2
+ export function modelCacheStagingRoot(cacheDir, workerRoot) {
3
+ return join(cacheDir, ".videobook-staging", basename(workerRoot));
4
+ }
5
+ //# sourceMappingURL=model-cache-paths.js.map