videobook-engine 5.0.1 → 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 (207) 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 +6 -10
  68. package/dist/merge-policy.d.ts.map +1 -1
  69. package/dist/merge-policy.js +5 -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 +69 -0
  194. package/docs/edit-performance.md +83 -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/release-evidence.md +300 -0
  202. package/docs/search-provider-consent.md +67 -0
  203. package/docs/semantic-durability.md +55 -0
  204. package/docs/temporal-search-performance.md +260 -0
  205. package/docs/v4-migration.md +83 -0
  206. package/fixtures/v5/contract-fixtures.json +3 -3
  207. package/package.json +19 -13
@@ -0,0 +1,89 @@
1
+ import { spawn } from "node:child_process";
2
+ import { EngineFault } from "./store.js";
3
+ const DEFAULT_MEDIA_TIMEOUT_MS = 120_000;
4
+ const DEFAULT_STDOUT_LIMIT = 8 * 1024 * 1024;
5
+ const DEFAULT_STDERR_LIMIT = 64 * 1024;
6
+ export function mediaTimeout(options) {
7
+ const timeout = options.timeoutMs ?? DEFAULT_MEDIA_TIMEOUT_MS;
8
+ if (!Number.isSafeInteger(timeout) || timeout < 1 || timeout > 2_147_483_647) {
9
+ throw new EngineFault({ code: "INVALID_INPUT", message: "Media timeout must be a positive bounded integer" });
10
+ }
11
+ return timeout;
12
+ }
13
+ export function checkMediaCancellation(options) {
14
+ if (options.signal?.aborted)
15
+ throw new EngineFault({ code: "CANCELLED", message: "Media operation cancelled" });
16
+ }
17
+ export async function runMediaProcess(command, args, options = {}) {
18
+ checkMediaCancellation(options);
19
+ const timeoutMs = mediaTimeout(options);
20
+ const stdoutLimit = checkedLimit(options.maxStdoutBytes ?? DEFAULT_STDOUT_LIMIT);
21
+ const stderrLimit = checkedLimit(options.maxStderrBytes ?? DEFAULT_STDERR_LIMIT);
22
+ return new Promise((resolve, reject) => {
23
+ const child = spawn(command, args, { stdio: ["ignore", "pipe", "pipe"], shell: false });
24
+ const stdout = [];
25
+ const stderr = [];
26
+ let stdoutBytes = 0;
27
+ let stderrBytes = 0;
28
+ let failure;
29
+ const stop = (error) => {
30
+ failure ??= error;
31
+ stdout.length = 0;
32
+ stderr.length = 0;
33
+ child.kill("SIGKILL");
34
+ };
35
+ const cancel = () => stop(new EngineFault({ code: "CANCELLED", message: "Media operation cancelled" }));
36
+ const timer = setTimeout(() => stop(new EngineFault({
37
+ code: "TIMEOUT", message: "Media process exceeded its time limit", details: { timeoutMs },
38
+ })), timeoutMs);
39
+ options.signal?.addEventListener("abort", cancel, { once: true });
40
+ if (options.signal?.aborted)
41
+ cancel();
42
+ child.stdout.on("data", (chunk) => {
43
+ if (failure)
44
+ return;
45
+ stdoutBytes += chunk.length;
46
+ if (stdoutBytes > stdoutLimit)
47
+ stop(outputLimit("stdout", stdoutLimit));
48
+ else
49
+ stdout.push(chunk);
50
+ });
51
+ child.stderr.on("data", (chunk) => {
52
+ if (failure)
53
+ return;
54
+ stderrBytes += chunk.length;
55
+ if (stderrBytes > stderrLimit)
56
+ stop(outputLimit("stderr", stderrLimit));
57
+ else
58
+ stderr.push(chunk);
59
+ });
60
+ child.once("error", () => {
61
+ failure ??= new EngineFault({ code: "FEATURE_UNAVAILABLE", message: "Unable to start media process" });
62
+ });
63
+ child.once("close", (code, signal) => {
64
+ clearTimeout(timer);
65
+ options.signal?.removeEventListener("abort", cancel);
66
+ if (failure) {
67
+ reject(failure);
68
+ return;
69
+ }
70
+ if (code !== 0) {
71
+ reject(new EngineFault({ code: "INVALID_INPUT", message: "Media process failed", details: { exitCode: code, signal } }));
72
+ return;
73
+ }
74
+ resolve({ stdout: Buffer.concat(stdout), stderr: Buffer.concat(stderr).toString("utf8") });
75
+ });
76
+ });
77
+ }
78
+ function checkedLimit(limit) {
79
+ if (!Number.isSafeInteger(limit) || limit < 0) {
80
+ throw new EngineFault({ code: "INVALID_INPUT", message: "Media output limit must be a non-negative integer" });
81
+ }
82
+ return limit;
83
+ }
84
+ function outputLimit(stream, limitBytes) {
85
+ return new EngineFault({
86
+ code: "RESOURCE_EXHAUSTED", message: "Media process exceeded its output limit", details: { stream, limitBytes },
87
+ });
88
+ }
89
+ //# sourceMappingURL=media-process.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"media-process.js","sourceRoot":"","sources":["../src/media-process.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAE3C,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEzC,MAAM,wBAAwB,GAAG,OAAO,CAAC;AACzC,MAAM,oBAAoB,GAAG,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC;AAC7C,MAAM,oBAAoB,GAAG,EAAE,GAAG,IAAI,CAAC;AAOvC,MAAM,UAAU,YAAY,CAAC,OAA8B;IACzD,MAAM,OAAO,GAAG,OAAO,CAAC,SAAS,IAAI,wBAAwB,CAAC;IAC9D,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI,OAAO,GAAG,CAAC,IAAI,OAAO,GAAG,aAAa,EAAE,CAAC;QAC7E,MAAM,IAAI,WAAW,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,kDAAkD,EAAE,CAAC,CAAC;IAChH,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,OAA8B;IACnE,IAAI,OAAO,CAAC,MAAM,EAAE,OAAO;QAAE,MAAM,IAAI,WAAW,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,2BAA2B,EAAE,CAAC,CAAC;AAClH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,OAAe,EACf,IAAc,EACd,UAA+B,EAAE;IAEjC,sBAAsB,CAAC,OAAO,CAAC,CAAC;IAChC,MAAM,SAAS,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;IACxC,MAAM,WAAW,GAAG,YAAY,CAAC,OAAO,CAAC,cAAc,IAAI,oBAAoB,CAAC,CAAC;IACjF,MAAM,WAAW,GAAG,YAAY,CAAC,OAAO,CAAC,cAAc,IAAI,oBAAoB,CAAC,CAAC;IACjF,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;QACxF,MAAM,MAAM,GAAa,EAAE,CAAC;QAC5B,MAAM,MAAM,GAAa,EAAE,CAAC;QAC5B,IAAI,WAAW,GAAG,CAAC,CAAC;QACpB,IAAI,WAAW,GAAG,CAAC,CAAC;QACpB,IAAI,OAAgC,CAAC;QACrC,MAAM,IAAI,GAAG,CAAC,KAAkB,EAAE,EAAE;YAClC,OAAO,KAAK,KAAK,CAAC;YAClB,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;YAClB,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;YAClB,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACxB,CAAC,CAAC;QACF,MAAM,MAAM,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,WAAW,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,2BAA2B,EAAE,CAAC,CAAC,CAAC;QACxG,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,WAAW,CAAC;YAClD,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,uCAAuC,EAAE,OAAO,EAAE,EAAE,SAAS,EAAE;SAC1F,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;QAChB,OAAO,CAAC,MAAM,EAAE,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QAClE,IAAI,OAAO,CAAC,MAAM,EAAE,OAAO;YAAE,MAAM,EAAE,CAAC;QACtC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE;YACxC,IAAI,OAAO;gBAAE,OAAO;YACpB,WAAW,IAAI,KAAK,CAAC,MAAM,CAAC;YAC5B,IAAI,WAAW,GAAG,WAAW;gBAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC;;gBACnE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC1B,CAAC,CAAC,CAAC;QACH,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE;YACxC,IAAI,OAAO;gBAAE,OAAO;YACpB,WAAW,IAAI,KAAK,CAAC,MAAM,CAAC;YAC5B,IAAI,WAAW,GAAG,WAAW;gBAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC;;gBACnE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC1B,CAAC,CAAC,CAAC;QACH,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE;YACvB,OAAO,KAAK,IAAI,WAAW,CAAC,EAAE,IAAI,EAAE,qBAAqB,EAAE,OAAO,EAAE,+BAA+B,EAAE,CAAC,CAAC;QACzG,CAAC,CAAC,CAAC;QACH,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE;YACnC,YAAY,CAAC,KAAK,CAAC,CAAC;YACpB,OAAO,CAAC,MAAM,EAAE,mBAAmB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YACrD,IAAI,OAAO,EAAE,CAAC;gBAAC,MAAM,CAAC,OAAO,CAAC,CAAC;gBAAC,OAAO;YAAC,CAAC;YACzC,IAAI,IAAI,KAAK,CAAC,EAAE,CAAC;gBACf,MAAM,CAAC,IAAI,WAAW,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,sBAAsB,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC;gBACzH,OAAO;YACT,CAAC;YACD,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAC7F,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,YAAY,CAAC,KAAa;IACjC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;QAC9C,MAAM,IAAI,WAAW,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,mDAAmD,EAAE,CAAC,CAAC;IACjH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,WAAW,CAAC,MAAc,EAAE,UAAkB;IACrD,OAAO,IAAI,WAAW,CAAC;QACrB,IAAI,EAAE,oBAAoB,EAAE,OAAO,EAAE,yCAAyC,EAAE,OAAO,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE;KAChH,CAAC,CAAC;AACL,CAAC"}
@@ -14,7 +14,8 @@ import type { DatabaseSync } from "@dolthub/doltlite";
14
14
  * scans are the post-merge verification primitives.
15
15
  * `dolt_constraint_violations[_<table>]` views exist but stay empty
16
16
  * because violating merges never commit.
17
- * - Same-row modifications on both sides throw "Merge conflict".
17
+ * - Same-row modifications on both sides refuse the merge with a conflict
18
+ * error; the working set and accepted head remain intact.
18
19
  *
19
20
  * Policy:
20
21
  *
@@ -68,15 +69,10 @@ export declare function verifyConstraintHealth(db: DatabaseSync): void;
68
69
  * deterministic singleton-flag reconcile, and a post-merge constraint
69
70
  * health check.
70
71
  *
71
- * NOTE (ve-wsu): doltlite corrupts full engine catalogs on checkout and
72
- * clone, misfires its "uncommitted changes" merge guard on the full
73
- * 28-table working set, and when the guard is bypassed fails true
74
- * merges of engine history in schema loading. The dedicated merge-back
75
- * flow in src/fork.ts therefore applies this policy's primitives around a
76
- * projection-level three-way merge instead of calling this function;
77
- * `mergeWithPolicy` remains the drop-in mechanism once the upstream bugs
78
- * are fixed, and it is exercised against the real semantic schema in
79
- * tests/merge-policy.test.ts.
72
+ * Native merge still refuses catalogs with ignored runtime tables in
73
+ * DoltLite 0.50.6 (ve-wsu). The dedicated merge-back flow in src/fork.ts
74
+ * keeps its projection merge; this native policy is validated on complete
75
+ * semantic table definitions without ignored runtime tables.
80
76
  */
81
77
  export declare function mergeWithPolicy(db: DatabaseSync, branch: string): MergePolicyOutcome;
82
78
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"merge-policy.d.ts","sourceRoot":"","sources":["../src/merge-policy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAe,MAAM,mBAAmB,CAAC;AAInE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AAEH,UAAU,kBAAkB;IAC1B,WAAW,EAAE,OAAO,CAAC;IACrB,wEAAwE;IACxE,qBAAqB,EAAE,MAAM,CAAC;IAC9B,2DAA2D;IAC3D,mBAAmB,EAAE,MAAM,CAAC;CAC7B;AAmCD,yEAAyE;AACzE,wBAAgB,uBAAuB,CACrC,EAAE,EAAE,YAAY,EAChB,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,GAChB,IAAI,CAYN;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,EAAE,EAAE,YAAY,GAAG;IACzD,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;CACnB,CAoEA;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,EAAE,EAAE,YAAY,GAAG,IAAI,CAuC7D;AAiDD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,eAAe,CAC7B,EAAE,EAAE,YAAY,EAChB,MAAM,EAAE,MAAM,GACb,kBAAkB,CAgBpB"}
1
+ {"version":3,"file":"merge-policy.d.ts","sourceRoot":"","sources":["../src/merge-policy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAe,MAAM,mBAAmB,CAAC;AAInE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AAEH,UAAU,kBAAkB;IAC1B,WAAW,EAAE,OAAO,CAAC;IACrB,wEAAwE;IACxE,qBAAqB,EAAE,MAAM,CAAC;IAC9B,2DAA2D;IAC3D,mBAAmB,EAAE,MAAM,CAAC;CAC7B;AAmCD,yEAAyE;AACzE,wBAAgB,uBAAuB,CACrC,EAAE,EAAE,YAAY,EAChB,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,GAChB,IAAI,CAYN;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,EAAE,EAAE,YAAY,GAAG;IACzD,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;CACnB,CAoEA;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,EAAE,EAAE,YAAY,GAAG,IAAI,CAuC7D;AAiDD;;;;;;;;;;GAUG;AACH,wBAAgB,eAAe,CAC7B,EAAE,EAAE,YAAY,EAChB,MAAM,EAAE,MAAM,GACb,kBAAkB,CAgBpB"}
@@ -138,7 +138,7 @@ function mapMergeError(branch, error) {
138
138
  details: { branch, cause: message },
139
139
  });
140
140
  }
141
- if (/merge conflict/i.test(message)) {
141
+ if (/merge conflict|cannot merge: conflicts detected/i.test(message)) {
142
142
  throw new EngineFault({
143
143
  code: "MERGE_CONFLICT",
144
144
  message: `Merge of ${branch} has row-level conflicts: ${message}`,
@@ -172,15 +172,10 @@ function commitReconcile(db, reconciled) {
172
172
  * deterministic singleton-flag reconcile, and a post-merge constraint
173
173
  * health check.
174
174
  *
175
- * NOTE (ve-wsu): doltlite corrupts full engine catalogs on checkout and
176
- * clone, misfires its "uncommitted changes" merge guard on the full
177
- * 28-table working set, and when the guard is bypassed fails true
178
- * merges of engine history in schema loading. The dedicated merge-back
179
- * flow in src/fork.ts therefore applies this policy's primitives around a
180
- * projection-level three-way merge instead of calling this function;
181
- * `mergeWithPolicy` remains the drop-in mechanism once the upstream bugs
182
- * are fixed, and it is exercised against the real semantic schema in
183
- * tests/merge-policy.test.ts.
175
+ * Native merge still refuses catalogs with ignored runtime tables in
176
+ * DoltLite 0.50.6 (ve-wsu). The dedicated merge-back flow in src/fork.ts
177
+ * keeps its projection merge; this native policy is validated on complete
178
+ * semantic table definitions without ignored runtime tables.
184
179
  */
185
180
  export function mergeWithPolicy(db, branch) {
186
181
  assertSameSchemaVersion(db, "HEAD", branch);
@@ -1 +1 @@
1
- {"version":3,"file":"merge-policy.js","sourceRoot":"","sources":["../src/merge-policy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"merge-policy.js","sourceRoot":"","sources":["../src/merge-policy.ts"],"names":[],"mappings":"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"}
@@ -15,6 +15,7 @@ export declare function createMetadataApi(context: EngineContext): {
15
15
  waveforms: {
16
16
  write: (artifact: string, peaks: number[]) => Promise<Result<string, EngineError>>;
17
17
  read: (artifact: string) => Promise<Result<AudioWaveformRecord, EngineError>>;
18
+ exists: (artifact: string) => Promise<Result<boolean, EngineError>>;
18
19
  delete: (artifact: string) => Promise<Result<boolean, EngineError>>;
19
20
  };
20
21
  };
@@ -1 +1 @@
1
- {"version":3,"file":"metadata.d.ts","sourceRoot":"","sources":["../src/metadata.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,mBAAmB,EACnB,WAAW,EACX,MAAM,EACP,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EACL,aAAa,EAEd,MAAM,cAAc,CAAC;AAOtB,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,aAAa;;0BAItC,MAAM,OACX,MAAM,SACJ,OAAO,KACb,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;eAEhC,CAAC,YACI,MAAM,OACX,MAAM,KACV,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC;yBAEjB,CAAC,YACN,MAAM,OACX,MAAM,YACD,MAAM,KACf,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC;2BAGtB,MAAM,OACX,MAAM,KACV,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;;;qBAKjC,MAAM,SACJ,OAAO,KACb,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;eAEhC,CAAC,OAAO,MAAM,KAAG,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC;sBAEzC,MAAM,KAAG,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;;;0BAKhD,MAAM,SACT,MAAM,EAAE,KACd,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;yBAG3B,MAAM,KACf,OAAO,CAAC,MAAM,CAAC,mBAAmB,EAAE,WAAW,CAAC,CAAC;2BAEjC,MAAM,KAAG,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;;EAItE"}
1
+ {"version":3,"file":"metadata.d.ts","sourceRoot":"","sources":["../src/metadata.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,mBAAmB,EACnB,WAAW,EACX,MAAM,EACP,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EACL,aAAa,EAEd,MAAM,cAAc,CAAC;AAOtB,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,aAAa;;0BAItC,MAAM,OACX,MAAM,SACJ,OAAO,KACb,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;eAEhC,CAAC,YACI,MAAM,OACX,MAAM,KACV,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC;yBAEjB,CAAC,YACN,MAAM,OACX,MAAM,YACD,MAAM,KACf,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC;2BAGtB,MAAM,OACX,MAAM,KACV,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;;;qBAKjC,MAAM,SACJ,OAAO,KACb,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;eAEhC,CAAC,OAAO,MAAM,KAAG,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC;sBAEzC,MAAM,KAAG,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;;;0BAKhD,MAAM,SACT,MAAM,EAAE,KACd,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;yBAG3B,MAAM,KACf,OAAO,CAAC,MAAM,CAAC,mBAAmB,EAAE,WAAW,CAAC,CAAC;2BAEjC,MAAM,KAAG,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;2BAE9C,MAAM,KAAG,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;;EAItE"}
package/dist/metadata.js CHANGED
@@ -17,6 +17,7 @@ export function createMetadataApi(context) {
17
17
  waveforms: {
18
18
  write: (artifact, peaks) => writeWaveform(context, artifact, peaks),
19
19
  read: (artifact) => readWaveform(context, artifact),
20
+ exists: (artifact) => waveformExists(context, artifact),
20
21
  delete: (artifact) => deleteWaveform(context, artifact),
21
22
  },
22
23
  };
@@ -66,6 +67,16 @@ async function deleteBookMetadata(context, key) {
66
67
  return true;
67
68
  });
68
69
  }
70
+ /** Whether a waveform is stored, without decoding its peaks. */
71
+ async function waveformExists(context, artifactReference) {
72
+ return resultOf(async () => {
73
+ const artifact = context.artifactRow(artifactReference);
74
+ const row = context.store.db
75
+ .prepare("SELECT 1 AS present FROM audio_waveforms WHERE artifact_id=?")
76
+ .get(artifact.artifact_id);
77
+ return row !== undefined;
78
+ });
79
+ }
69
80
  async function deleteWaveform(context, artifactReference) {
70
81
  return resultOf(async () => {
71
82
  const artifact = context.artifactRow(artifactReference);
@@ -1 +1 @@
1
- {"version":3,"file":"metadata.js","sourceRoot":"","sources":["../src/metadata.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"metadata.js","sourceRoot":"","sources":["../src/metadata.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ import type { DatabaseSync } from "@dolthub/doltlite";
2
+ /** Rewrites the grid mentions inside one stored text value. */
3
+ type MentionRewriter = (text: string) => string;
4
+ /**
5
+ * Picks the rewriter for rows scoped to `notebookId`; `null` asks for the
6
+ * book-wide rewriter used by tables that carry no notebook column.
7
+ */
8
+ type MentionRewriterResolver = (notebookId: string | null) => MentionRewriter;
9
+ /**
10
+ * Rewrite every stored grid mention in a catalog: notebook-scoped text (cells,
11
+ * generations, plans) through the rewriter for its notebook, book-wide text
12
+ * (entities, prompt entries, messages) through the `null` rewriter. Tables or
13
+ * columns that a catalog lacks are skipped. Returns the number of rows changed.
14
+ */
15
+ export declare function rewriteCatalogMentions(db: DatabaseSync, resolve: MentionRewriterResolver): number;
16
+ export {};
17
+ //# sourceMappingURL=migrate-grid-text.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"migrate-grid-text.d.ts","sourceRoot":"","sources":["../src/migrate-grid-text.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEtD,+DAA+D;AAC/D,KAAK,eAAe,GAAG,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;AAEhD;;;GAGG;AACH,KAAK,uBAAuB,GAAG,CAC7B,UAAU,EAAE,MAAM,GAAG,IAAI,KACtB,eAAe,CAAC;AA0IrB;;;;;GAKG;AACH,wBAAgB,sBAAsB,CACpC,EAAE,EAAE,YAAY,EAChB,OAAO,EAAE,uBAAuB,GAC/B,MAAM,CAMR"}
@@ -0,0 +1,117 @@
1
+ const REWRITE_TARGETS = [
2
+ {
3
+ table: "cells",
4
+ idColumn: "cell_id",
5
+ columns: ["prompt", "label", "inputs_json"],
6
+ scope: "notebook",
7
+ },
8
+ {
9
+ table: "generations",
10
+ idColumn: "generation_id",
11
+ columns: ["prompt", "resolved_prompt"],
12
+ scope: "notebook",
13
+ },
14
+ {
15
+ table: "notebook_generation_plans",
16
+ idColumn: "plan_id",
17
+ columns: ["plan_json"],
18
+ scope: "notebook",
19
+ },
20
+ {
21
+ table: "notebook_run_plans",
22
+ idColumn: "plan_id",
23
+ columns: ["plan_json", "outputs_json"],
24
+ scope: "notebook",
25
+ },
26
+ {
27
+ table: "entities",
28
+ idColumn: "entity_id",
29
+ columns: ["prompt", "description", "data_json"],
30
+ scope: "book",
31
+ },
32
+ {
33
+ table: "prompt_entries",
34
+ idColumn: "prompt_id",
35
+ columns: ["prompt", "context_json"],
36
+ scope: "book",
37
+ },
38
+ {
39
+ table: "messages",
40
+ idColumn: "message_id",
41
+ columns: ["body_json"],
42
+ scope: "book",
43
+ },
44
+ ];
45
+ function tableExists(db, name) {
46
+ const row = db
47
+ .prepare("SELECT 1 AS present FROM sqlite_master WHERE type='table' AND name=?")
48
+ .get(name);
49
+ return row?.present === 1;
50
+ }
51
+ function tableColumns(db, name) {
52
+ const rows = db.prepare(`PRAGMA table_info(${name})`).all();
53
+ return new Set(rows.map((row) => row.name));
54
+ }
55
+ function tableHasColumns(db, name, columns) {
56
+ if (!tableExists(db, name))
57
+ return false;
58
+ const present = tableColumns(db, name);
59
+ return columns.every((column) => present.has(column));
60
+ }
61
+ function keyColumns(target) {
62
+ return target.scope === "notebook"
63
+ ? ["notebook_id", target.idColumn]
64
+ : [target.idColumn];
65
+ }
66
+ function rewrittenValues(row, columns, rewrite) {
67
+ const values = [];
68
+ let changed = false;
69
+ for (const column of columns) {
70
+ const current = row[column];
71
+ if (typeof current !== "string") {
72
+ values.push(current ?? null);
73
+ continue;
74
+ }
75
+ const next = rewrite(current);
76
+ values.push(next);
77
+ if (next !== current)
78
+ changed = true;
79
+ }
80
+ return { values, changed };
81
+ }
82
+ function rewriteTarget(db, target, resolve) {
83
+ const keys = keyColumns(target);
84
+ if (!tableHasColumns(db, target.table, [...keys, ...target.columns])) {
85
+ return 0;
86
+ }
87
+ const rows = db
88
+ .prepare(`SELECT ${[...keys, ...target.columns].join(", ")} FROM ${target.table}`)
89
+ .all();
90
+ const assignments = target.columns.map((column) => `${column}=?`).join(", ");
91
+ const where = keys.map((column) => `${column}=?`).join(" AND ");
92
+ const update = db.prepare(`UPDATE ${target.table} SET ${assignments} WHERE ${where}`);
93
+ let rewritten = 0;
94
+ for (const row of rows) {
95
+ const rewrite = resolve(target.scope === "notebook" ? String(row.notebook_id) : null);
96
+ const next = rewrittenValues(row, target.columns, rewrite);
97
+ if (!next.changed)
98
+ continue;
99
+ update.run(...next.values, ...keys.map((column) => row[column]));
100
+ rewritten += 1;
101
+ }
102
+ return rewritten;
103
+ }
104
+ /**
105
+ * Rewrite every stored grid mention in a catalog: notebook-scoped text (cells,
106
+ * generations, plans) through the rewriter for its notebook, book-wide text
107
+ * (entities, prompt entries, messages) through the `null` rewriter. Tables or
108
+ * columns that a catalog lacks are skipped. Returns the number of rows changed.
109
+ */
110
+ export function rewriteCatalogMentions(db, resolve) {
111
+ let rewritten = 0;
112
+ for (const target of REWRITE_TARGETS) {
113
+ rewritten += rewriteTarget(db, target, resolve);
114
+ }
115
+ return rewritten;
116
+ }
117
+ //# sourceMappingURL=migrate-grid-text.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"migrate-grid-text.js","sourceRoot":"","sources":["../src/migrate-grid-text.ts"],"names":[],"mappings":"AAoBA,MAAM,eAAe,GAA6B;IAChD;QACE,KAAK,EAAE,OAAO;QACd,QAAQ,EAAE,SAAS;QACnB,OAAO,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,aAAa,CAAC;QAC3C,KAAK,EAAE,UAAU;KAClB;IACD;QACE,KAAK,EAAE,aAAa;QACpB,QAAQ,EAAE,eAAe;QACzB,OAAO,EAAE,CAAC,QAAQ,EAAE,iBAAiB,CAAC;QACtC,KAAK,EAAE,UAAU;KAClB;IACD;QACE,KAAK,EAAE,2BAA2B;QAClC,QAAQ,EAAE,SAAS;QACnB,OAAO,EAAE,CAAC,WAAW,CAAC;QACtB,KAAK,EAAE,UAAU;KAClB;IACD;QACE,KAAK,EAAE,oBAAoB;QAC3B,QAAQ,EAAE,SAAS;QACnB,OAAO,EAAE,CAAC,WAAW,EAAE,cAAc,CAAC;QACtC,KAAK,EAAE,UAAU;KAClB;IACD;QACE,KAAK,EAAE,UAAU;QACjB,QAAQ,EAAE,WAAW;QACrB,OAAO,EAAE,CAAC,QAAQ,EAAE,aAAa,EAAE,WAAW,CAAC;QAC/C,KAAK,EAAE,MAAM;KACd;IACD;QACE,KAAK,EAAE,gBAAgB;QACvB,QAAQ,EAAE,WAAW;QACrB,OAAO,EAAE,CAAC,QAAQ,EAAE,cAAc,CAAC;QACnC,KAAK,EAAE,MAAM;KACd;IACD;QACE,KAAK,EAAE,UAAU;QACjB,QAAQ,EAAE,YAAY;QACtB,OAAO,EAAE,CAAC,WAAW,CAAC;QACtB,KAAK,EAAE,MAAM;KACd;CACF,CAAC;AAIF,SAAS,WAAW,CAAC,EAAgB,EAAE,IAAY;IACjD,MAAM,GAAG,GAAG,EAAE;SACX,OAAO,CACN,sEAAsE,CACvE;SACA,GAAG,CAAC,IAAI,CAAgD,CAAC;IAC5D,OAAO,GAAG,EAAE,OAAO,KAAK,CAAC,CAAC;AAC5B,CAAC;AAED,SAAS,YAAY,CAAC,EAAgB,EAAE,IAAY;IAClD,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,CAAC,qBAAqB,IAAI,GAAG,CAAC,CAAC,GAAG,EAEvD,CAAC;IACH,OAAO,IAAI,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;AAC9C,CAAC;AAED,SAAS,eAAe,CACtB,EAAgB,EAChB,IAAY,EACZ,OAA0B;IAE1B,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,IAAI,CAAC;QAAE,OAAO,KAAK,CAAC;IACzC,MAAM,OAAO,GAAG,YAAY,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;IACvC,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;AACxD,CAAC;AAED,SAAS,UAAU,CAAC,MAAqB;IACvC,OAAO,MAAM,CAAC,KAAK,KAAK,UAAU;QAChC,CAAC,CAAC,CAAC,aAAa,EAAE,MAAM,CAAC,QAAQ,CAAC;QAClC,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;AACxB,CAAC;AAED,SAAS,eAAe,CACtB,GAAY,EACZ,OAA0B,EAC1B,OAAwB;IAExB,MAAM,MAAM,GAAyB,EAAE,CAAC;IACxC,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,MAAM,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC;QAC5B,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;YAChC,MAAM,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,CAAC;YAC7B,SAAS;QACX,CAAC;QACD,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;QAC9B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,IAAI,IAAI,KAAK,OAAO;YAAE,OAAO,GAAG,IAAI,CAAC;IACvC,CAAC;IACD,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;AAC7B,CAAC;AAED,SAAS,aAAa,CACpB,EAAgB,EAChB,MAAqB,EACrB,OAAgC;IAEhC,MAAM,IAAI,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;IAChC,IAAI,CAAC,eAAe,CAAC,EAAE,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC;QACrE,OAAO,CAAC,CAAC;IACX,CAAC;IACD,MAAM,IAAI,GAAG,EAAE;SACZ,OAAO,CAAC,UAAU,CAAC,GAAG,IAAI,EAAE,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,MAAM,CAAC,KAAK,EAAE,CAAC;SACjF,GAAG,EAA0B,CAAC;IACjC,MAAM,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,GAAG,MAAM,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC7E,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,GAAG,MAAM,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAChE,MAAM,MAAM,GAAG,EAAE,CAAC,OAAO,CACvB,UAAU,MAAM,CAAC,KAAK,QAAQ,WAAW,UAAU,KAAK,EAAE,CAC3D,CAAC;IACF,IAAI,SAAS,GAAG,CAAC,CAAC;IAClB,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,MAAM,OAAO,GAAG,OAAO,CACrB,MAAM,CAAC,KAAK,KAAK,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAC7D,CAAC;QACF,MAAM,IAAI,GAAG,eAAe,CAAC,GAAG,EAAE,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAC3D,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,SAAS;QAC5B,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QACjE,SAAS,IAAI,CAAC,CAAC;IACjB,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,sBAAsB,CACpC,EAAgB,EAChB,OAAgC;IAEhC,IAAI,SAAS,GAAG,CAAC,CAAC;IAClB,KAAK,MAAM,MAAM,IAAI,eAAe,EAAE,CAAC;QACrC,SAAS,IAAI,aAAa,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IAClD,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC"}
@@ -0,0 +1,12 @@
1
+ import type { DatabaseSync } from "@dolthub/doltlite";
2
+ import type { NotebookGridSlot } from "./notebook/types.js";
3
+ interface V22GridMigrationResult {
4
+ relocated: number;
5
+ rewritten: number;
6
+ }
7
+ export declare function parseV22GridAddress(value: string): NotebookGridSlot | undefined;
8
+ export declare function relocateV22Slots(slots: readonly NotebookGridSlot[]): Map<string, NotebookGridSlot>;
9
+ export declare function rewriteV22Mentions(text: string, slotMap: ReadonlyMap<string, NotebookGridSlot>): string;
10
+ export declare function applyV22NotebookGridMigration(db: DatabaseSync): V22GridMigrationResult;
11
+ export {};
12
+ //# sourceMappingURL=migrate-grid-v22.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"migrate-grid-v22.d.ts","sourceRoot":"","sources":["../src/migrate-grid-v22.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAGtD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAuB5D,UAAU,sBAAsB;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAMD,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,MAAM,GACZ,gBAAgB,GAAG,SAAS,CAO9B;AAuBD,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,SAAS,gBAAgB,EAAE,GACjC,GAAG,CAAC,MAAM,EAAE,gBAAgB,CAAC,CA4B/B;AAED,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,WAAW,CAAC,MAAM,EAAE,gBAAgB,CAAC,GAC7C,MAAM,CAgBR;AA6CD,wBAAgB,6BAA6B,CAC3C,EAAE,EAAE,YAAY,GACf,sBAAsB,CA0DxB"}
@@ -0,0 +1,166 @@
1
+ import { SCHEMA_VERSION } from "./catalog-metadata.js";
2
+ import { NOTEBOOK_GRID_COLUMN_COUNT, NOTEBOOK_GRID_ROW_COUNT, notebookGridAddress, } from "./notebook-grid.js";
3
+ import { rewriteCatalogMentions } from "./migrate-grid-text.js";
4
+ import { CELLS_TABLE_DEFINITION } from "./schema.js";
5
+ const V22_ADDRESS_SOURCE = "[a-z](?:1[0-3]|[1-9])";
6
+ const V22_MENTION_PATTERN = new RegExp(`@(${V22_ADDRESS_SOURCE})(?![\\w-])`, "giu");
7
+ const V22_ADDRESS_PATTERN = new RegExp(`^${V22_ADDRESS_SOURCE}$`, "iu");
8
+ function slotKey(slot) {
9
+ return `${slot.row}:${slot.column}`;
10
+ }
11
+ export function parseV22GridAddress(value) {
12
+ const address = value.trim().replace(/^@/u, "").toLowerCase();
13
+ if (!V22_ADDRESS_PATTERN.test(address))
14
+ return undefined;
15
+ return {
16
+ row: address.charCodeAt(0) - 97,
17
+ column: Number(address.slice(1)) - 1,
18
+ };
19
+ }
20
+ function firstFreeSlot(occupied, startRow = 0) {
21
+ for (let row = startRow; row < NOTEBOOK_GRID_ROW_COUNT; row += 1) {
22
+ for (let column = 0; column < NOTEBOOK_GRID_COLUMN_COUNT; column += 1) {
23
+ if (!occupied.has(slotKey({ row, column }))) {
24
+ return { row, column };
25
+ }
26
+ }
27
+ }
28
+ for (let row = 0; row < startRow; row += 1) {
29
+ for (let column = 0; column < NOTEBOOK_GRID_COLUMN_COUNT; column += 1) {
30
+ if (!occupied.has(slotKey({ row, column }))) {
31
+ return { row, column };
32
+ }
33
+ }
34
+ }
35
+ throw new Error("Cannot migrate: the 8x64 notebook grid is full");
36
+ }
37
+ export function relocateV22Slots(slots) {
38
+ const relocated = new Map();
39
+ const kept = [];
40
+ const overflow = [];
41
+ for (const slot of slots) {
42
+ if (slot.column >= 0
43
+ && slot.column < NOTEBOOK_GRID_COLUMN_COUNT
44
+ && slot.row >= 0
45
+ && slot.row < NOTEBOOK_GRID_ROW_COUNT) {
46
+ kept.push(slot);
47
+ }
48
+ else {
49
+ overflow.push(slot);
50
+ }
51
+ }
52
+ overflow.sort((left, right) => left.row - right.row
53
+ || left.column - right.column);
54
+ const occupied = new Set(kept.map(slotKey));
55
+ for (const slot of kept)
56
+ relocated.set(slotKey(slot), slot);
57
+ for (const slot of overflow) {
58
+ const next = firstFreeSlot(occupied, Math.max(0, slot.row));
59
+ occupied.add(slotKey(next));
60
+ relocated.set(slotKey(slot), next);
61
+ }
62
+ return relocated;
63
+ }
64
+ export function rewriteV22Mentions(text, slotMap) {
65
+ return text.replace(V22_MENTION_PATTERN, (raw, address) => {
66
+ const parsed = parseV22GridAddress(address);
67
+ if (!parsed)
68
+ return raw;
69
+ const mapped = slotMap.get(slotKey(parsed));
70
+ if (mapped)
71
+ return `@${notebookGridAddress(mapped)}`;
72
+ if (parsed.column >= 0
73
+ && parsed.column < NOTEBOOK_GRID_COLUMN_COUNT
74
+ && parsed.row >= 0
75
+ && parsed.row < NOTEBOOK_GRID_ROW_COUNT) {
76
+ return `@${notebookGridAddress(parsed)}`;
77
+ }
78
+ return raw;
79
+ });
80
+ }
81
+ function mergeNotebookMaps(maps) {
82
+ const merged = new Map();
83
+ const conflict = new Set();
84
+ for (const map of maps.values()) {
85
+ for (const [key, slot] of map) {
86
+ if (conflict.has(key))
87
+ continue;
88
+ const existing = merged.get(key);
89
+ if (!existing) {
90
+ merged.set(key, slot);
91
+ continue;
92
+ }
93
+ if (existing.row !== slot.row || existing.column !== slot.column) {
94
+ merged.delete(key);
95
+ conflict.add(key);
96
+ }
97
+ }
98
+ }
99
+ return merged;
100
+ }
101
+ function rebuildCellsTable(db) {
102
+ db.exec("PRAGMA foreign_keys=OFF");
103
+ db.exec("DROP TABLE IF EXISTS cells_next");
104
+ db.exec(`CREATE TABLE cells_next (${CELLS_TABLE_DEFINITION})`);
105
+ db.exec("INSERT INTO cells_next SELECT * FROM cells");
106
+ db.exec("DROP TABLE cells");
107
+ db.exec("ALTER TABLE cells_next RENAME TO cells");
108
+ db.exec("CREATE INDEX IF NOT EXISTS cells_output_entity ON cells(output_entity_id)");
109
+ db.exec(`CREATE INDEX IF NOT EXISTS cells_grid
110
+ ON cells(notebook_id, grid_row, grid_column, cell_id)`);
111
+ db.exec(`CREATE INDEX IF NOT EXISTS cells_output_artifact
112
+ ON cells(output_artifact_id)`);
113
+ db.exec("PRAGMA foreign_keys=ON");
114
+ }
115
+ export function applyV22NotebookGridMigration(db) {
116
+ const cells = db
117
+ .prepare("SELECT notebook_id, cell_id, grid_row, grid_column FROM cells")
118
+ .all();
119
+ const byNotebook = new Map();
120
+ for (const cell of cells) {
121
+ const rows = byNotebook.get(cell.notebook_id) ?? [];
122
+ rows.push(cell);
123
+ byNotebook.set(cell.notebook_id, rows);
124
+ }
125
+ const maps = new Map();
126
+ const nextByCell = new Map();
127
+ let relocated = 0;
128
+ for (const [notebookId, rows] of byNotebook) {
129
+ const map = relocateV22Slots(rows.map((row) => ({ row: row.grid_row, column: row.grid_column })));
130
+ maps.set(notebookId, map);
131
+ for (const row of rows) {
132
+ const next = map.get(slotKey({
133
+ row: row.grid_row,
134
+ column: row.grid_column,
135
+ }));
136
+ if (!next)
137
+ continue;
138
+ nextByCell.set(`${row.notebook_id}:${row.cell_id}`, next);
139
+ if (next.row !== row.grid_row || next.column !== row.grid_column) {
140
+ relocated += 1;
141
+ }
142
+ }
143
+ }
144
+ const updateSlot = db.prepare(`UPDATE cells SET grid_row=?, grid_column=?
145
+ WHERE notebook_id=? AND cell_id=?`);
146
+ for (const cell of cells) {
147
+ const next = nextByCell.get(`${cell.notebook_id}:${cell.cell_id}`);
148
+ if (!next)
149
+ continue;
150
+ if (next.row === cell.grid_row && next.column === cell.grid_column)
151
+ continue;
152
+ updateSlot.run(next.row, next.column, cell.notebook_id, cell.cell_id);
153
+ }
154
+ const bookMap = mergeNotebookMaps(maps);
155
+ const rewritten = rewriteCatalogMentions(db, (notebookId) => {
156
+ const map = notebookId === null
157
+ ? bookMap
158
+ : (maps.get(notebookId) ?? bookMap);
159
+ return (text) => rewriteV22Mentions(text, map);
160
+ });
161
+ rebuildCellsTable(db);
162
+ db.prepare("UPDATE engine_schema SET version=? WHERE singleton=1")
163
+ .run(SCHEMA_VERSION);
164
+ return { relocated, rewritten };
165
+ }
166
+ //# sourceMappingURL=migrate-grid-v22.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"migrate-grid-v22.js","sourceRoot":"","sources":["../src/migrate-grid-v22.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import type { DatabaseSync } from "@dolthub/doltlite";
2
+ import type { NotebookGridSlot } from "./notebook/types.js";
3
+ interface V23GridMigrationResult {
4
+ rewritten: number;
5
+ }
6
+ export declare function parseV23GridAddress(value: string): NotebookGridSlot | undefined;
7
+ export declare function rewriteV23Mentions(text: string): string;
8
+ export declare function applyV23NotebookGridMigration(db: DatabaseSync): V23GridMigrationResult;
9
+ export {};
10
+ //# sourceMappingURL=migrate-grid-v23.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"migrate-grid-v23.d.ts","sourceRoot":"","sources":["../src/migrate-grid-v23.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAGtD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAc5D,UAAU,sBAAsB;IAC9B,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,MAAM,GACZ,gBAAgB,GAAG,SAAS,CAO9B;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAKvD;AAED,wBAAgB,6BAA6B,CAC3C,EAAE,EAAE,YAAY,GACf,sBAAsB,CAKxB"}