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
@@ -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":"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"}
package/dist/media.d.ts CHANGED
@@ -1,7 +1,7 @@
1
- import type { ArtifactManifestFile } from "./engine-types.js";
1
+ import type { ArtifactKind, ArtifactManifestFile } from "./engine-types.js";
2
2
  export declare const RENDER_ORIENTATIONS: readonly ["landscape", "portrait", "square"];
3
3
  export type RenderOrientation = (typeof RENDER_ORIENTATIONS)[number];
4
- export declare function findAudioFile(files: ArtifactManifestFile[], artifactSlug: string): ArtifactManifestFile | null;
4
+ export declare function findAudioFile(files: ArtifactManifestFile[], kind: ArtifactKind): ArtifactManifestFile | null;
5
5
  export declare function findVideoFile(files: ArtifactManifestFile[]): ArtifactManifestFile | null;
6
- export declare function findPrimaryMediaFile(files: ArtifactManifestFile[], artifactSlug: string): ArtifactManifestFile | null;
6
+ export declare function findPrimaryMediaFile(files: ArtifactManifestFile[], kind: ArtifactKind): ArtifactManifestFile | null;
7
7
  //# sourceMappingURL=media.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"media.d.ts","sourceRoot":"","sources":["../src/media.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAmB9D,eAAO,MAAM,mBAAmB,8CAItB,CAAC;AAEX,MAAM,MAAM,iBAAiB,GAAG,CAAC,OAAO,mBAAmB,CAAC,CAAC,MAAM,CAAC,CAAC;AAErE,wBAAgB,aAAa,CAC3B,KAAK,EAAE,oBAAoB,EAAE,EAC7B,YAAY,EAAE,MAAM,GACnB,oBAAoB,GAAG,IAAI,CAgB7B;AAED,wBAAgB,aAAa,CAC3B,KAAK,EAAE,oBAAoB,EAAE,GAC5B,oBAAoB,GAAG,IAAI,CAS7B;AAED,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,oBAAoB,EAAE,EAC7B,YAAY,EAAE,MAAM,GACnB,oBAAoB,GAAG,IAAI,CAqB7B"}
1
+ {"version":3,"file":"media.d.ts","sourceRoot":"","sources":["../src/media.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,YAAY,EACZ,oBAAoB,EACrB,MAAM,mBAAmB,CAAC;AAmB3B,eAAO,MAAM,mBAAmB,8CAItB,CAAC;AAEX,MAAM,MAAM,iBAAiB,GAAG,CAAC,OAAO,mBAAmB,CAAC,CAAC,MAAM,CAAC,CAAC;AAErE,wBAAgB,aAAa,CAC3B,KAAK,EAAE,oBAAoB,EAAE,EAC7B,IAAI,EAAE,YAAY,GACjB,oBAAoB,GAAG,IAAI,CAgB7B;AAED,wBAAgB,aAAa,CAC3B,KAAK,EAAE,oBAAoB,EAAE,GAC5B,oBAAoB,GAAG,IAAI,CAS7B;AAED,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,oBAAoB,EAAE,EAC7B,IAAI,EAAE,YAAY,GACjB,oBAAoB,GAAG,IAAI,CAqB7B"}
package/dist/media.js CHANGED
@@ -20,13 +20,13 @@ export const RENDER_ORIENTATIONS = [
20
20
  "portrait",
21
21
  "square",
22
22
  ];
23
- export function findAudioFile(files, artifactSlug) {
24
- if (artifactSlug.startsWith("vid-")) {
23
+ export function findAudioFile(files, kind) {
24
+ if (kind === "video") {
25
25
  return (files.find((file) => file.name === "audio_original.mp3") ??
26
26
  files.find((file) => file.name === "original.mp3") ??
27
27
  null);
28
28
  }
29
- if (artifactSlug.startsWith("aud-")) {
29
+ if (kind === "audio") {
30
30
  return (files.find((file) => AUDIO_EXTENSIONS.has(extension(file))) ?? null);
31
31
  }
32
32
  return null;
@@ -37,8 +37,8 @@ export function findVideoFile(files) {
37
37
  videos[0] ??
38
38
  null);
39
39
  }
40
- export function findPrimaryMediaFile(files, artifactSlug) {
41
- if (artifactSlug === "final") {
40
+ export function findPrimaryMediaFile(files, kind) {
41
+ if (kind === "final") {
42
42
  for (const orientation of RENDER_ORIENTATIONS) {
43
43
  const match = files.find((file) => file.name.toLowerCase() ===
44
44
  `timeline_${orientation}.mp4`);
package/dist/media.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"media.js","sourceRoot":"","sources":["../src/media.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"media.js","sourceRoot":"","sources":["../src/media.ts"],"names":[],"mappings":"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"}
@@ -14,21 +14,17 @@ 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
  *
21
22
  * 1. Precondition: both sides must carry the same `engine_schema.version`.
22
23
  * Mismatches are refused with SCHEMA_INCOMPATIBLE before any merge is
23
24
  * attempted (`assertSameSchemaVersion`).
24
- * 2. `artifacts.slug` is globally unique, so two forks minting the same
25
- * slug is a user-facing merge conflict, not a raw constraint error.
26
- * `findSlugConflicts` detects them pre-merge with a three-way
27
- * (base/ours/theirs) simulation over the artifacts slug projection and
28
- * the merge is refused with MERGE_CONFLICT listing slug and artifact
29
- * ids. doltlite's own verification is the backstop for cases the
30
- * simulation cannot foresee; those refusals are re-diagnosed and also
31
- * surface as MERGE_CONFLICT when attributable to slugs.
25
+ * 2. Artifact identity is `artifact_id` (UUIDv7), which is collision-free
26
+ * across forks, so merges have no name-conflict class. `artifacts.label`
27
+ * is non-unique display text and merges like any other column.
32
28
  * 3. RESTRICT foreign-key dangles (one fork deletes a row the other fork
33
29
  * newly references) are caught by doltlite's merge-time working-set
34
30
  * verification and surface as a typed MERGE_VIOLATION, never a raw
@@ -44,11 +40,7 @@ import type { DatabaseSync } from "@dolthub/doltlite";
44
40
  * deterministically (see `primarySequence` in src/sequences.ts), so the
45
41
  * engine is consistent even before reconcile runs.
46
42
  */
47
- export interface SlugConflict {
48
- slug: string;
49
- artifactIds: string[];
50
- }
51
- export interface MergePolicyOutcome {
43
+ interface MergePolicyOutcome {
52
44
  fastForward: boolean;
53
45
  /** Transcript rows demoted from current to derived by the reconcile. */
54
46
  reconciledTranscripts: number;
@@ -57,14 +49,6 @@ export interface MergePolicyOutcome {
57
49
  }
58
50
  /** Merge precondition: both sides must carry the same schema version. */
59
51
  export declare function assertSameSchemaVersion(db: DatabaseSync, oursRef: string, theirsRef: string): void;
60
- /**
61
- * Slugs that would be held by more than one artifact row after a three-way
62
- * merge of `oursRef` and `theirsRef`. The survivor simulation mirrors Dolt
63
- * row-level merge semantics over the (artifact_id, slug) projection; rows
64
- * changed incompatibly on both sides count conservatively on both sides
65
- * because Dolt will conflict them anyway.
66
- */
67
- export declare function findSlugConflicts(db: DatabaseSync, oursRef: string, theirsRef: string): SlugConflict[];
68
52
  /**
69
53
  * Rewrites merged duplicate singleton flags to a single deterministic
70
54
  * winner per group. Returns the number of demoted rows.
@@ -75,25 +59,21 @@ export declare function reconcileSingletonFlags(db: DatabaseSync): {
75
59
  };
76
60
  /**
77
61
  * Post-merge verification: referential integrity plus the invariants the
78
- * merge policy owns (unique slugs, single current transcript per source,
79
- * single primary sequence per book). Throws MERGE_VIOLATION on any breach.
62
+ * merge policy owns (single current transcript per source, single primary
63
+ * sequence per book). Throws MERGE_VIOLATION on any breach.
80
64
  */
81
65
  export declare function verifyConstraintHealth(db: DatabaseSync): void;
82
66
  /**
83
67
  * Merges `branch` into HEAD under the engine merge policy: same-schema
84
- * precondition, user-facing slug-conflict detection, Dolt constraint
85
- * verification with typed errors, deterministic singleton-flag reconcile,
86
- * and a post-merge constraint health check.
68
+ * precondition, Dolt constraint verification with typed errors,
69
+ * deterministic singleton-flag reconcile, and a post-merge constraint
70
+ * health check.
87
71
  *
88
- * NOTE (ve-wsu): doltlite corrupts full engine catalogs on checkout and
89
- * clone, misfires its "uncommitted changes" merge guard on the full
90
- * 28-table working set, and when the guard is bypassed fails true
91
- * merges of engine history in schema loading. The dedicated merge-back
92
- * flow in src/fork.ts therefore applies this policy's primitives around a
93
- * projection-level three-way merge instead of calling this function;
94
- * `mergeWithPolicy` remains the drop-in mechanism once the upstream bugs
95
- * are fixed, and it is exercised against the real semantic schema in
96
- * 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.
97
76
  */
98
77
  export declare function mergeWithPolicy(db: DatabaseSync, branch: string): MergePolicyOutcome;
78
+ export {};
99
79
  //# sourceMappingURL=merge-policy.d.ts.map
@@ -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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CG;AAEH,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,EAAE,CAAC;CACvB;AAED,MAAM,WAAW,kBAAkB;IACjC,WAAW,EAAE,OAAO,CAAC;IACrB,wEAAwE;IACxE,qBAAqB,EAAE,MAAM,CAAC;IAC9B,2DAA2D;IAC3D,mBAAmB,EAAE,MAAM,CAAC;CAC7B;AAwCD,yEAAyE;AACzE,wBAAgB,uBAAuB,CACrC,EAAE,EAAE,YAAY,EAChB,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,GAChB,IAAI,CAYN;AAYD;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAC/B,EAAE,EAAE,YAAY,EAChB,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,GAChB,YAAY,EAAE,CAmDhB;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,CAuD7D;AAoED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,eAAe,CAC7B,EAAE,EAAE,YAAY,EAChB,MAAM,EAAE,MAAM,GACb,kBAAkB,CAoBpB"}
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"}
@@ -33,79 +33,6 @@ export function assertSameSchemaVersion(db, oursRef, theirsRef) {
33
33
  });
34
34
  }
35
35
  }
36
- function slugMapAt(db, ref) {
37
- const rows = db
38
- .prepare("SELECT artifact_id, slug FROM dolt_at_artifacts(?)")
39
- .all(ref);
40
- return new Map(rows.map((row) => [row.artifact_id, row.slug]));
41
- }
42
- /**
43
- * Slugs that would be held by more than one artifact row after a three-way
44
- * merge of `oursRef` and `theirsRef`. The survivor simulation mirrors Dolt
45
- * row-level merge semantics over the (artifact_id, slug) projection; rows
46
- * changed incompatibly on both sides count conservatively on both sides
47
- * because Dolt will conflict them anyway.
48
- */
49
- export function findSlugConflicts(db, oursRef, theirsRef) {
50
- if (!tableExists(db, "artifacts"))
51
- return [];
52
- const baseRow = db
53
- .prepare("SELECT dolt_merge_base(?, ?) AS hash")
54
- .get(oursRef, theirsRef);
55
- const base = baseRow?.hash
56
- ? slugMapAt(db, baseRow.hash)
57
- : new Map();
58
- const ours = slugMapAt(db, oursRef);
59
- const theirs = slugMapAt(db, theirsRef);
60
- const ids = new Set([...base.keys(), ...ours.keys(), ...theirs.keys()]);
61
- const holders = new Map();
62
- const hold = (id, slug) => {
63
- if (slug === undefined)
64
- return;
65
- let set = holders.get(slug);
66
- if (!set) {
67
- set = new Set();
68
- holders.set(slug, set);
69
- }
70
- set.add(id);
71
- };
72
- for (const id of ids) {
73
- const b = base.get(id);
74
- const o = ours.get(id);
75
- const t = theirs.get(id);
76
- if (b !== undefined && o === b && t === b) {
77
- hold(id, b);
78
- }
79
- else if (b === undefined) {
80
- if (o !== undefined && t !== undefined && o !== t) {
81
- // Same row id added with different slugs on both sides: a row
82
- // conflict Dolt will report; count both slugs conservatively.
83
- hold(id, o);
84
- hold(id, t);
85
- }
86
- else {
87
- hold(id, o ?? t);
88
- }
89
- }
90
- else if (o === t) {
91
- hold(id, o);
92
- }
93
- else if (o === b) {
94
- hold(id, t);
95
- }
96
- else if (t === b) {
97
- hold(id, o);
98
- }
99
- else {
100
- hold(id, o);
101
- hold(id, t);
102
- }
103
- }
104
- return [...holders.entries()]
105
- .filter(([, set]) => set.size > 1)
106
- .map(([slug, set]) => ({ slug, artifactIds: [...set].sort() }))
107
- .sort((a, b) => a.slug.localeCompare(b.slug));
108
- }
109
36
  /**
110
37
  * Rewrites merged duplicate singleton flags to a single deterministic
111
38
  * winner per group. Returns the number of demoted rows.
@@ -160,24 +87,11 @@ export function reconcileSingletonFlags(db) {
160
87
  }
161
88
  /**
162
89
  * Post-merge verification: referential integrity plus the invariants the
163
- * merge policy owns (unique slugs, single current transcript per source,
164
- * single primary sequence per book). Throws MERGE_VIOLATION on any breach.
90
+ * merge policy owns (single current transcript per source, single primary
91
+ * sequence per book). Throws MERGE_VIOLATION on any breach.
165
92
  */
166
93
  export function verifyConstraintHealth(db) {
167
94
  const foreignKeyRows = db.prepare("PRAGMA foreign_key_check").all();
168
- const duplicateSlugs = tableExists(db, "artifacts")
169
- ? db
170
- .prepare(
171
- // +slug forces a full table scan: doltlite's checkout can leave
172
- // the UNIQUE index on artifacts.slug missing rows (ve-wsu), and
173
- // an index-backed GROUP BY would fail with "database disk image
174
- // is malformed" instead of verifying anything.
175
- `SELECT slug, COUNT(DISTINCT artifact_id) AS holders
176
- FROM artifacts
177
- GROUP BY +slug
178
- HAVING holders > 1`)
179
- .all()
180
- : [];
181
95
  const multipleCurrent = tableExists(db, "transcripts")
182
96
  ? db
183
97
  .prepare(`SELECT artifact_id, stream_id, object_hash, COUNT(*) AS currents
@@ -197,7 +111,6 @@ export function verifyConstraintHealth(db) {
197
111
  .all()
198
112
  : [];
199
113
  if (foreignKeyRows.length > 0 ||
200
- duplicateSlugs.length > 0 ||
201
114
  multipleCurrent.length > 0 ||
202
115
  multiplePrimary.length > 0) {
203
116
  throw new EngineFault({
@@ -205,33 +118,17 @@ export function verifyConstraintHealth(db) {
205
118
  message: "Merged working set violates semantic constraints",
206
119
  details: {
207
120
  foreignKeyViolations: foreignKeyRows,
208
- duplicateSlugs,
209
121
  multipleCurrentTranscripts: multipleCurrent,
210
122
  multiplePrimarySequences: multiplePrimary,
211
123
  },
212
124
  });
213
125
  }
214
126
  }
215
- function mergeConflictFault(branch, slugConflicts) {
216
- const listing = slugConflicts
217
- .map((conflict) => conflict.slug)
218
- .join(", ");
219
- return new EngineFault({
220
- code: "MERGE_CONFLICT",
221
- message: `Merge of ${branch} conflicts on artifact slug(s): ${listing}`,
222
- details: { branch, slugConflicts },
223
- });
224
- }
225
- function mapMergeError(db, branch, error) {
127
+ function mapMergeError(branch, error) {
226
128
  const message = error instanceof Error ? error.message : String(error);
227
129
  if (CONSTRAINT_VIOLATION_REFUSAL.test(message)) {
228
130
  // doltlite's merge-time verification refused and rolled back, so both
229
- // refs are still intact: re-run the slug diagnosis to see whether this
230
- // is a user-facing slug conflict.
231
- const slugConflicts = findSlugConflicts(db, "HEAD", branch);
232
- if (slugConflicts.length > 0) {
233
- throw mergeConflictFault(branch, slugConflicts);
234
- }
131
+ // refs are still intact; surface the refusal as a typed violation.
235
132
  throw new EngineFault({
236
133
  code: "MERGE_VIOLATION",
237
134
  message: `Merge of ${branch} refused by Dolt constraint verification: ` +
@@ -241,7 +138,7 @@ function mapMergeError(db, branch, error) {
241
138
  details: { branch, cause: message },
242
139
  });
243
140
  }
244
- if (/merge conflict/i.test(message)) {
141
+ if (/merge conflict|cannot merge: conflicts detected/i.test(message)) {
245
142
  throw new EngineFault({
246
143
  code: "MERGE_CONFLICT",
247
144
  message: `Merge of ${branch} has row-level conflicts: ${message}`,
@@ -271,32 +168,23 @@ function commitReconcile(db, reconciled) {
271
168
  }
272
169
  /**
273
170
  * Merges `branch` into HEAD under the engine merge policy: same-schema
274
- * precondition, user-facing slug-conflict detection, Dolt constraint
275
- * verification with typed errors, deterministic singleton-flag reconcile,
276
- * and a post-merge constraint health check.
171
+ * precondition, Dolt constraint verification with typed errors,
172
+ * deterministic singleton-flag reconcile, and a post-merge constraint
173
+ * health check.
277
174
  *
278
- * NOTE (ve-wsu): doltlite corrupts full engine catalogs on checkout and
279
- * clone, misfires its "uncommitted changes" merge guard on the full
280
- * 28-table working set, and when the guard is bypassed fails true
281
- * merges of engine history in schema loading. The dedicated merge-back
282
- * flow in src/fork.ts therefore applies this policy's primitives around a
283
- * projection-level three-way merge instead of calling this function;
284
- * `mergeWithPolicy` remains the drop-in mechanism once the upstream bugs
285
- * are fixed, and it is exercised against the real semantic schema in
286
- * 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.
287
179
  */
288
180
  export function mergeWithPolicy(db, branch) {
289
181
  assertSameSchemaVersion(db, "HEAD", branch);
290
- const slugConflicts = findSlugConflicts(db, "HEAD", branch);
291
- if (slugConflicts.length > 0) {
292
- throw mergeConflictFault(branch, slugConflicts);
293
- }
294
182
  let result;
295
183
  try {
296
184
  result = db.doltMerge(branch);
297
185
  }
298
186
  catch (error) {
299
- mapMergeError(db, branch, error);
187
+ mapMergeError(branch, error);
300
188
  }
301
189
  const reconciled = reconcileSingletonFlags(db);
302
190
  verifyConstraintHealth(db);
@@ -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);
@@ -124,9 +135,8 @@ async function readArtifactMetadataAtRevision(context, artifactReference, key, r
124
135
  return resultOf(async () => {
125
136
  const artifact = context.store.db
126
137
  .prepare(`SELECT artifact_id FROM dolt_at_artifacts(?)
127
- WHERE artifact_id=? OR slug=?
128
- ORDER BY CASE WHEN artifact_id=? THEN 0 ELSE 1 END LIMIT 1`)
129
- .get(revision, artifactReference, artifactReference, artifactReference);
138
+ WHERE artifact_id=? LIMIT 1`)
139
+ .get(revision, artifactReference);
130
140
  if (!artifact) {
131
141
  throw new Error(`Artifact not found: ${artifactReference} at ${revision}`);
132
142
  }
@@ -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"}