videobook-engine 5.0.1 → 5.3.3

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 (208) hide show
  1. package/README.md +73 -13
  2. package/dist/artifacts.d.ts +2 -2
  3. package/dist/artifacts.d.ts.map +1 -1
  4. package/dist/artifacts.js +42 -11
  5. package/dist/artifacts.js.map +1 -1
  6. package/dist/cas.d.ts +2 -1
  7. package/dist/cas.d.ts.map +1 -1
  8. package/dist/cas.js +33 -4
  9. package/dist/cas.js.map +1 -1
  10. package/dist/catalog-gc-state.d.ts +4 -0
  11. package/dist/catalog-gc-state.d.ts.map +1 -0
  12. package/dist/catalog-gc-state.js +49 -0
  13. package/dist/catalog-gc-state.js.map +1 -0
  14. package/dist/catalog-metadata.d.ts +1 -1
  15. package/dist/catalog-metadata.js +1 -1
  16. package/dist/context.d.ts +2 -0
  17. package/dist/context.d.ts.map +1 -1
  18. package/dist/context.js +7 -1
  19. package/dist/context.js.map +1 -1
  20. package/dist/domain.d.ts.map +1 -1
  21. package/dist/domain.js +2 -2
  22. package/dist/domain.js.map +1 -1
  23. package/dist/edits.js +2 -2
  24. package/dist/edits.js.map +1 -1
  25. package/dist/engine-types.d.ts +97 -12
  26. package/dist/engine-types.d.ts.map +1 -1
  27. package/dist/engine-types.js +2 -0
  28. package/dist/engine-types.js.map +1 -1
  29. package/dist/engine.d.ts +11 -3
  30. package/dist/engine.d.ts.map +1 -1
  31. package/dist/engine.js +43 -1
  32. package/dist/engine.js.map +1 -1
  33. package/dist/files.d.ts +10 -0
  34. package/dist/files.d.ts.map +1 -1
  35. package/dist/files.js +48 -1
  36. package/dist/files.js.map +1 -1
  37. package/dist/fork.d.ts +11 -28
  38. package/dist/fork.d.ts.map +1 -1
  39. package/dist/fork.js +5 -7
  40. package/dist/fork.js.map +1 -1
  41. package/dist/history.js +10 -9
  42. package/dist/history.js.map +1 -1
  43. package/dist/index.d.ts +1 -1
  44. package/dist/index.d.ts.map +1 -1
  45. package/dist/index.js +1 -1
  46. package/dist/index.js.map +1 -1
  47. package/dist/inline-temporal-models.d.ts +43 -0
  48. package/dist/inline-temporal-models.d.ts.map +1 -0
  49. package/dist/inline-temporal-models.js +236 -0
  50. package/dist/inline-temporal-models.js.map +1 -0
  51. package/dist/isolated-models.d.ts +8 -0
  52. package/dist/isolated-models.d.ts.map +1 -0
  53. package/dist/isolated-models.js +25 -0
  54. package/dist/isolated-models.js.map +1 -0
  55. package/dist/job-queue.d.ts +1 -1
  56. package/dist/job-queue.d.ts.map +1 -1
  57. package/dist/job-queue.js +20 -6
  58. package/dist/job-queue.js.map +1 -1
  59. package/dist/media-image.d.ts +8 -0
  60. package/dist/media-image.d.ts.map +1 -0
  61. package/dist/media-image.js +41 -0
  62. package/dist/media-image.js.map +1 -0
  63. package/dist/media-process.d.ts +13 -0
  64. package/dist/media-process.d.ts.map +1 -0
  65. package/dist/media-process.js +89 -0
  66. package/dist/media-process.js.map +1 -0
  67. package/dist/merge-policy.d.ts +5 -10
  68. package/dist/merge-policy.d.ts.map +1 -1
  69. package/dist/merge-policy.js +4 -10
  70. package/dist/merge-policy.js.map +1 -1
  71. package/dist/metadata.d.ts +1 -0
  72. package/dist/metadata.d.ts.map +1 -1
  73. package/dist/metadata.js +11 -0
  74. package/dist/metadata.js.map +1 -1
  75. package/dist/migrate-grid-text.d.ts +17 -0
  76. package/dist/migrate-grid-text.d.ts.map +1 -0
  77. package/dist/migrate-grid-text.js +117 -0
  78. package/dist/migrate-grid-text.js.map +1 -0
  79. package/dist/migrate-grid-v22.d.ts +12 -0
  80. package/dist/migrate-grid-v22.d.ts.map +1 -0
  81. package/dist/migrate-grid-v22.js +166 -0
  82. package/dist/migrate-grid-v22.js.map +1 -0
  83. package/dist/migrate-grid-v23.d.ts +10 -0
  84. package/dist/migrate-grid-v23.d.ts.map +1 -0
  85. package/dist/migrate-grid-v23.js +31 -0
  86. package/dist/migrate-grid-v23.js.map +1 -0
  87. package/dist/migration-notebooks.d.ts +25 -0
  88. package/dist/migration-notebooks.d.ts.map +1 -0
  89. package/dist/migration-notebooks.js +131 -0
  90. package/dist/migration-notebooks.js.map +1 -0
  91. package/dist/migration-source.d.ts +6 -0
  92. package/dist/migration-source.d.ts.map +1 -0
  93. package/dist/migration-source.js +37 -0
  94. package/dist/migration-source.js.map +1 -0
  95. package/dist/migration-timeline.d.ts +36 -0
  96. package/dist/migration-timeline.d.ts.map +1 -0
  97. package/dist/migration-timeline.js +187 -0
  98. package/dist/migration-timeline.js.map +1 -0
  99. package/dist/migration-validation.d.ts +12 -0
  100. package/dist/migration-validation.d.ts.map +1 -0
  101. package/dist/migration-validation.js +68 -0
  102. package/dist/migration-validation.js.map +1 -0
  103. package/dist/migration.d.ts.map +1 -1
  104. package/dist/migration.js +188 -117
  105. package/dist/migration.js.map +1 -1
  106. package/dist/model-cache-paths.d.ts +2 -0
  107. package/dist/model-cache-paths.d.ts.map +1 -0
  108. package/dist/model-cache-paths.js +5 -0
  109. package/dist/model-cache-paths.js.map +1 -0
  110. package/dist/model-checksums.json +338 -0
  111. package/dist/model-file-resolver.d.ts +30 -0
  112. package/dist/model-file-resolver.d.ts.map +1 -0
  113. package/dist/model-file-resolver.js +304 -0
  114. package/dist/model-file-resolver.js.map +1 -0
  115. package/dist/model-identity.d.ts +13 -0
  116. package/dist/model-identity.d.ts.map +1 -0
  117. package/dist/model-identity.js +44 -0
  118. package/dist/model-identity.js.map +1 -0
  119. package/dist/model-worker-errors.d.ts +3 -0
  120. package/dist/model-worker-errors.d.ts.map +1 -0
  121. package/dist/model-worker-errors.js +12 -0
  122. package/dist/model-worker-errors.js.map +1 -0
  123. package/dist/model-worker-pool.d.ts +32 -0
  124. package/dist/model-worker-pool.d.ts.map +1 -0
  125. package/dist/model-worker-pool.js +269 -0
  126. package/dist/model-worker-pool.js.map +1 -0
  127. package/dist/model-worker-protocol.d.ts +42 -0
  128. package/dist/model-worker-protocol.d.ts.map +1 -0
  129. package/dist/model-worker-protocol.js +2 -0
  130. package/dist/model-worker-protocol.js.map +1 -0
  131. package/dist/model-worker.d.ts +2 -0
  132. package/dist/model-worker.d.ts.map +1 -0
  133. package/dist/model-worker.js +91 -0
  134. package/dist/model-worker.js.map +1 -0
  135. package/dist/mvp-contracts.d.ts +31 -7
  136. package/dist/mvp-contracts.d.ts.map +1 -1
  137. package/dist/mvp-contracts.js +1 -1
  138. package/dist/mvp-contracts.js.map +1 -1
  139. package/dist/notebook-grid.d.ts +13 -4
  140. package/dist/notebook-grid.d.ts.map +1 -1
  141. package/dist/notebook-grid.js +35 -8
  142. package/dist/notebook-grid.js.map +1 -1
  143. package/dist/notebook-mentions.d.ts +1 -1
  144. package/dist/notebook-mentions.d.ts.map +1 -1
  145. package/dist/notebook-mentions.js +2 -1
  146. package/dist/notebook-mentions.js.map +1 -1
  147. package/dist/schema.d.ts +2 -1
  148. package/dist/schema.d.ts.map +1 -1
  149. package/dist/schema.js +7 -4
  150. package/dist/schema.js.map +1 -1
  151. package/dist/search-provider-access.d.ts +11 -0
  152. package/dist/search-provider-access.d.ts.map +1 -0
  153. package/dist/search-provider-access.js +42 -0
  154. package/dist/search-provider-access.js.map +1 -0
  155. package/dist/similarity.d.ts +60 -1
  156. package/dist/similarity.d.ts.map +1 -1
  157. package/dist/similarity.js +165 -145
  158. package/dist/similarity.js.map +1 -1
  159. package/dist/store.d.ts +15 -1
  160. package/dist/store.d.ts.map +1 -1
  161. package/dist/store.js +168 -14
  162. package/dist/store.js.map +1 -1
  163. package/dist/temporal-index-cache.d.ts +13 -0
  164. package/dist/temporal-index-cache.d.ts.map +1 -0
  165. package/dist/temporal-index-cache.js +59 -0
  166. package/dist/temporal-index-cache.js.map +1 -0
  167. package/dist/temporal-model-manifests.d.ts +17 -0
  168. package/dist/temporal-model-manifests.d.ts.map +1 -0
  169. package/dist/temporal-model-manifests.js +33 -0
  170. package/dist/temporal-model-manifests.js.map +1 -0
  171. package/dist/temporal-models.d.ts +20 -35
  172. package/dist/temporal-models.d.ts.map +1 -1
  173. package/dist/temporal-models.js +23 -257
  174. package/dist/temporal-models.js.map +1 -1
  175. package/dist/temporal-search.d.ts +6 -3
  176. package/dist/temporal-search.d.ts.map +1 -1
  177. package/dist/temporal-search.js +404 -132
  178. package/dist/temporal-search.js.map +1 -1
  179. package/dist/temporal-vector-index.d.ts +46 -0
  180. package/dist/temporal-vector-index.d.ts.map +1 -0
  181. package/dist/temporal-vector-index.js +220 -0
  182. package/dist/temporal-vector-index.js.map +1 -0
  183. package/dist/third-party/@huggingface-jinja.LICENSE +21 -0
  184. package/dist/third-party/@huggingface-tokenizers.LICENSE +201 -0
  185. package/dist/third-party/@huggingface-transformers.LICENSE +202 -0
  186. package/dist/third-party/onnxruntime-common.LICENSE +21 -0
  187. package/dist/third-party/versions.json +23 -0
  188. package/dist/transformers-runtime.d.ts +2 -0
  189. package/dist/transformers-runtime.d.ts.map +1 -0
  190. package/dist/transformers-runtime.js +33014 -0
  191. package/dist/transformers-runtime.js.LEGAL.txt +12 -0
  192. package/dist/transformers-runtime.js.map +7 -0
  193. package/docs/doltlite-staging.md +89 -0
  194. package/docs/edit-performance.md +81 -0
  195. package/docs/engine-layout.md +42 -31
  196. package/docs/media-limits.md +57 -0
  197. package/docs/model-download-policy.md +15 -0
  198. package/docs/model-integrity.md +72 -0
  199. package/docs/model-isolation.md +72 -0
  200. package/docs/model-revisions.md +54 -0
  201. package/docs/mvp-prd.md +2 -1
  202. package/docs/release-evidence.md +322 -0
  203. package/docs/search-provider-consent.md +67 -0
  204. package/docs/semantic-durability.md +55 -0
  205. package/docs/temporal-search-performance.md +258 -0
  206. package/docs/v4-migration.md +83 -0
  207. package/fixtures/v5/contract-fixtures.json +3 -3
  208. package/package.json +19 -13
@@ -1 +1 @@
1
- {"version":3,"file":"migration.d.ts","sourceRoot":"","sources":["../src/migration.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EACV,WAAW,EACX,MAAM,EACP,MAAM,mBAAmB,CAAC;AAK3B,OAAO,KAAK,EAEV,iBAAiB,EACjB,kBAAkB,EAClB,iBAAiB,EAClB,MAAM,oBAAoB,CAAC;AAgD5B,wBAAgB,iBAAiB,CAC/B,UAAU,EAAE,MAAM,GACjB,MAAM,CAAC,iBAAiB,EAAE,WAAW,CAAC,CA2DxC;AAED,wBAAgB,kBAAkB,CAChC,UAAU,EAAE,MAAM,GACjB,MAAM,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,EAAE,WAAW,CAAC,CAuBvD;AAED,wBAAsB,SAAS,CAC7B,OAAO,EAAE,kBAAkB,GAC1B,OAAO,CAAC,MAAM,CAAC,iBAAiB,GAAG,iBAAiB,EAAE,WAAW,CAAC,CAAC,CA0KrE"}
1
+ {"version":3,"file":"migration.d.ts","sourceRoot":"","sources":["../src/migration.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EACV,WAAW,EACX,MAAM,EACP,MAAM,mBAAmB,CAAC;AAK3B,OAAO,KAAK,EAEV,iBAAiB,EACjB,kBAAkB,EAClB,iBAAiB,EAClB,MAAM,oBAAoB,CAAC;AAwC5B,wBAAgB,iBAAiB,CAC/B,UAAU,EAAE,MAAM,GACjB,MAAM,CAAC,iBAAiB,EAAE,WAAW,CAAC,CAgExC;AAED,wBAAgB,kBAAkB,CAChC,UAAU,EAAE,MAAM,GACjB,MAAM,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,EAAE,WAAW,CAAC,CAqBvD;AAED,wBAAsB,SAAS,CAC7B,OAAO,EAAE,kBAAkB,GAC1B,OAAO,CAAC,MAAM,CAAC,iBAAiB,GAAG,iBAAiB,EAAE,WAAW,CAAC,CAAC,CA8MrE"}
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
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);
@@ -174,48 +211,53 @@ export async function migrateV4(request) {
174
211
  copyLegacyArtifacts(sourceDatabase, destinationDatabase);
175
212
  }
176
213
  else {
177
- copyTable(sourceDatabase, destinationDatabase, table);
214
+ await copyTable(sourceDatabase, destinationDatabase, table, request.signal);
178
215
  }
216
+ migrationProgress(request, "copy-state", COPY_TABLES.indexOf(table) + 1, COPY_TABLES.length);
217
+ await yieldTurn();
179
218
  }
180
219
  destinationDatabase
181
220
  .prepare("UPDATE engine_schema SET version=? WHERE singleton=1")
182
221
  .run(MVP_SCHEMA_VERSION);
183
- // The legacy timeline triple does not exist in the v17 schema: the
184
- // timeline row only pins the primary sequence's render orientation, and
185
- // still-image slots convert into clips on that sequence. Timed-media
186
- // slots and timeline audio are dropped with a PROBE_REQUIRED dry-run
187
- // warning because clip conversion needs a media probe the v4 import
188
- // does not perform.
189
222
  initializePrimarySequence(destinationDatabase, book.book_id, sourceRender(sourceDatabase, book.book_id));
190
- convertStillTimelineSlots(sourceDatabase, destinationDatabase);
191
223
  stageMigration(destinationDatabase);
192
224
  destinationDatabase.close();
193
225
  destinationDatabase = undefined;
194
- const objectCounts = await copyObjects(sourceDatabase, sourceRoot, destinationRoot);
195
- sourceDatabase.close();
226
+ const objectCounts = await copyObjects(sourceDatabase, sourceRoot, destinationRoot, request);
227
+ sourceSnapshot.close();
228
+ sourceSnapshot = undefined;
196
229
  sourceDatabase = undefined;
197
- const engine = createEngine({ rootDir: destinationRoot });
230
+ engine = createEngine({ rootDir: destinationRoot });
198
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);
199
239
  const reportArtifact = await engine.artifacts.create({
200
240
  kind: "script",
201
241
  label: "migration-report",
202
242
  });
203
243
  if (!reportArtifact.ok) {
204
- engine.close();
205
- return reportArtifact;
244
+ throw new EngineFault(reportArtifact.error);
206
245
  }
207
246
  const report = {
208
247
  ...dryRun.value,
209
248
  conversion: {
210
- timeline: "still-image-slots-converted; timed-media-requires-probe",
249
+ version: 3,
250
+ timeline: convertedTimeline,
211
251
  similarity: "runtime-v4-discarded; v5-reindex-required",
252
+ jobs: "legacy job history remains in source audit; v5 runtime job IDs start fresh",
212
253
  sourceRoot,
254
+ notebooks: notebooks.decisions,
213
255
  },
256
+ legacyHistory: { sourceHeadRevision: dryRun.value.sourceHeadRevision, ...legacyHistory },
214
257
  };
215
258
  const reportFile = await engine.files.write(reportArtifact.value.artifactId, "migration-report.json", JSON.stringify(report));
216
259
  if (!reportFile.ok) {
217
- engine.close();
218
- return reportFile;
260
+ throw new EngineFault(reportFile.error);
219
261
  }
220
262
  // The import audit is an authored Dolt commit like every other record:
221
263
  // the audit payload lands in book_metadata and the commit hash becomes
@@ -230,12 +272,10 @@ export async function migrateV4(request) {
230
272
  reportArtifactId: reportArtifact.value.artifactId,
231
273
  });
232
274
  if (!audit.ok) {
233
- engine.close();
234
- return audit;
275
+ throw new EngineFault(audit.error);
235
276
  }
236
277
  if (!audit.revision) {
237
- engine.close();
238
- return err({
278
+ throw new EngineFault({
239
279
  code: "STORAGE_ERROR",
240
280
  message: "Migration audit commit did not return a revision",
241
281
  });
@@ -251,17 +291,88 @@ export async function migrateV4(request) {
251
291
  completedAt: Date.now(),
252
292
  };
253
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;
254
309
  return ok(result);
255
310
  }
256
311
  catch (cause) {
257
- sourceDatabase?.close();
312
+ return err(migrationError(cause));
313
+ }
314
+ finally {
315
+ sourceSnapshot?.close();
258
316
  destinationDatabase?.close();
259
- if (destinationCreated) {
260
- 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());
261
328
  }
262
- 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);
366
+ }
367
+ finally {
368
+ engine.close();
263
369
  }
264
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" });
375
+ }
265
376
  function sourceBook(database) {
266
377
  const books = database
267
378
  .prepare("SELECT book_id, slug FROM book")
@@ -279,10 +390,16 @@ function count(database, table) {
279
390
  }
280
391
  function migrationIssues(database, root, bookId) {
281
392
  const issues = [];
393
+ issues.push(...legacyReferenceIssues(database), ...legacyNotebookPlan(database).issues, ...legacyTimelinePlan(database).issues);
282
394
  const objects = database
283
- .prepare("SELECT object_hash FROM objects ORDER BY object_hash")
395
+ .prepare("SELECT object_hash, size_bytes FROM objects ORDER BY object_hash")
284
396
  .all();
285
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
+ }
286
403
  if (!existsSync(objectPath(root, object.object_hash))) {
287
404
  issues.push({
288
405
  code: "MISSING_OBJECT",
@@ -291,22 +408,12 @@ function migrationIssues(database, root, bookId) {
291
408
  message: "Content-addressed object is missing from the schema-v4 root",
292
409
  });
293
410
  }
294
- }
295
- const timedSlots = database
296
- .prepare(`SELECT s.slot_id, a.artifact_id, a.kind
297
- FROM timeline_slots s
298
- JOIN artifacts a ON a.artifact_id=s.artifact_id
299
- WHERE a.kind <> 'image'
300
- ORDER BY s.ordinal, s.slot_id`)
301
- .all();
302
- for (const slot of timedSlots) {
303
- issues.push({
304
- code: "PROBE_REQUIRED",
305
- severity: "warning",
306
- resource: `timeline-slot:${slot.slot_id}`,
307
- message: `${slot.kind} timeline source requires media probing before clip conversion`,
308
- details: { artifactId: slot.artifact_id },
309
- });
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
+ }
310
417
  }
311
418
  if (count(database, "artifacts") > 0) {
312
419
  issues.push({
@@ -342,7 +449,7 @@ function clearFreshDestination(database) {
342
449
  DELETE FROM book;
343
450
  `);
344
451
  }
345
- function copyTable(source, destination, table) {
452
+ async function copyTable(source, destination, table, signal) {
346
453
  const sourceColumns = columns(source, table);
347
454
  const destinationColumns = new Set(columns(destination, table));
348
455
  const shared = sourceColumns.filter((column) => destinationColumns.has(column));
@@ -355,8 +462,13 @@ function copyTable(source, destination, table) {
355
462
  return;
356
463
  const placeholders = shared.map(() => "?").join(", ");
357
464
  const insert = destination.prepare(`INSERT INTO ${table}(${shared.join(", ")}) VALUES (${placeholders})`);
358
- for (const row of rows) {
465
+ for (const [ordinal, row] of rows.entries()) {
359
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
+ }
360
472
  }
361
473
  }
362
474
  /**
@@ -432,57 +544,6 @@ function initializePrimarySequence(database, bookId, render) {
432
544
  }
433
545
  insert.run(uuidv7(), sequenceId, "caption", initialOrderKeys(1)[0], "Captions", null, null, null);
434
546
  }
435
- /**
436
- * Legacy still-image timeline slots become clips on the primary sequence's
437
- * first video track, laid out back to back in legacy (ordinal, slot_id)
438
- * order. Timed media is not converted: the dry run flags every non-image
439
- * slot with PROBE_REQUIRED because clip conversion needs media probing the
440
- * import does not perform.
441
- */
442
- function convertStillTimelineSlots(source, destination) {
443
- const sequence = destination
444
- .prepare("SELECT sequence_id FROM sequences WHERE is_primary=1")
445
- .get();
446
- const track = destination
447
- .prepare(`SELECT track_id FROM sequence_tracks
448
- WHERE sequence_id=? AND kind='video'
449
- ORDER BY order_key, track_id LIMIT 1`)
450
- .get(sequence.sequence_id);
451
- const rows = source
452
- .prepare(`SELECT s.slot_id, s.artifact_id, s.ordinal, a.kind,
453
- f.path AS source_path, f.object_hash
454
- FROM timeline_slots s
455
- JOIN artifacts a ON a.artifact_id=s.artifact_id
456
- LEFT JOIN artifact_files f ON f.artifact_id=a.artifact_id
457
- WHERE a.kind='image'
458
- ORDER BY s.ordinal, s.slot_id, f.path`)
459
- .all();
460
- const seen = new Set();
461
- const insertClip = destination.prepare(`INSERT INTO sequence_clips(
462
- clip_id, track_id, source_kind, artifact_id, source_path,
463
- stream_id, object_hash, source_start_tick, source_duration_ticks,
464
- time_base_numerator, time_base_denominator, timeline_start_frame,
465
- duration_frames, speed_numerator, speed_denominator, reverse,
466
- audio_policy, gain_db, audio_muted, fade_in_frames, fade_out_frames,
467
- enabled
468
- ) VALUES (?, ?, 'still', ?, ?, NULL, ?, NULL, NULL, NULL, NULL,
469
- ?, 90, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 1)`);
470
- const insertTransform = destination.prepare(`INSERT INTO clip_transforms(
471
- clip_id, fit, position_x, position_y, scale_x, scale_y,
472
- anchor_x, anchor_y, rotation_degrees, crop_top, crop_right,
473
- crop_bottom, crop_left, opacity, blend_mode
474
- ) VALUES (?, 'fit', 0, 0, 1, 1, 0.5, 0.5, 0, 0, 0, 0, 0, 1, 'normal')`);
475
- let ordinal = 0;
476
- for (const row of rows) {
477
- if (seen.has(row.slot_id) || !row.source_path || !row.object_hash)
478
- continue;
479
- seen.add(row.slot_id);
480
- const clipId = uuidv7();
481
- insertClip.run(clipId, track.track_id, row.artifact_id, row.source_path, row.object_hash, ordinal * 90);
482
- insertTransform.run(clipId);
483
- ordinal += 1;
484
- }
485
- }
486
547
  function stageMigration(database) {
487
548
  for (const table of SEMANTIC_TABLES) {
488
549
  database.prepare("SELECT dolt_add(?) AS result").get(table);
@@ -493,7 +554,7 @@ function stageMigration(database) {
493
554
  if (!committed?.hash)
494
555
  throw new Error("Migration commit did not return a hash");
495
556
  }
496
- async function copyObjects(source, sourceRoot, destinationRoot) {
557
+ async function copyObjects(source, sourceRoot, destinationRoot, request) {
497
558
  const destinationObjects = path.join(destinationRoot, "data", "objects", "sha256");
498
559
  const store = new ObjectStore(destinationObjects);
499
560
  const objects = source
@@ -501,6 +562,7 @@ async function copyObjects(source, sourceRoot, destinationRoot) {
501
562
  .all();
502
563
  let copied = 0;
503
564
  let reused = 0;
565
+ migrationProgress(request, "copy-objects", 0, objects.length);
504
566
  for (const object of objects) {
505
567
  const sourcePath = objectPath(sourceRoot, object.object_hash);
506
568
  const destinationPath = store.pathFor(object.object_hash);
@@ -520,6 +582,13 @@ async function copyObjects(source, sourceRoot, destinationRoot) {
520
582
  }
521
583
  copied += 1;
522
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);
523
592
  }
524
593
  await copyWorkspaceMetadata(sourceRoot, destinationRoot);
525
594
  return { copied, reused };
@@ -547,6 +616,8 @@ function isInside(parent, candidate) {
547
616
  && !relative.startsWith(`..${path.sep}`);
548
617
  }
549
618
  function migrationError(cause) {
619
+ if (cause instanceof Error && cause.name === "AbortError")
620
+ return { code: "CANCELLED", message: "Schema-v4 migration cancelled" };
550
621
  if (typeof cause === "object"
551
622
  && cause !== null
552
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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model-cache-paths.js","sourceRoot":"","sources":["../src/model-cache-paths.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAE3C,MAAM,UAAU,qBAAqB,CAAC,QAAgB,EAAE,UAAkB;IACxE,OAAO,IAAI,CAAC,QAAQ,EAAE,oBAAoB,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC;AACpE,CAAC"}