videobook-engine 2.0.1 → 4.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (148) hide show
  1. package/README.md +87 -41
  2. package/dist/artifact-names.d.ts +6 -0
  3. package/dist/artifact-names.d.ts.map +1 -0
  4. package/dist/artifact-names.js +56 -0
  5. package/dist/artifact-names.js.map +1 -0
  6. package/dist/artifacts.d.ts.map +1 -1
  7. package/dist/artifacts.js +57 -23
  8. package/dist/artifacts.js.map +1 -1
  9. package/dist/books.js +2 -1
  10. package/dist/books.js.map +1 -1
  11. package/dist/cas.d.ts +27 -1
  12. package/dist/cas.d.ts.map +1 -1
  13. package/dist/cas.js +78 -6
  14. package/dist/cas.js.map +1 -1
  15. package/dist/catalog-metadata.d.ts +56 -0
  16. package/dist/catalog-metadata.d.ts.map +1 -0
  17. package/dist/catalog-metadata.js +42 -0
  18. package/dist/catalog-metadata.js.map +1 -0
  19. package/dist/communications.js +4 -2
  20. package/dist/communications.js.map +1 -1
  21. package/dist/context.d.ts +6 -1
  22. package/dist/context.d.ts.map +1 -1
  23. package/dist/context.js +35 -6
  24. package/dist/context.js.map +1 -1
  25. package/dist/domain.d.ts +4 -0
  26. package/dist/domain.d.ts.map +1 -1
  27. package/dist/domain.js +870 -58
  28. package/dist/domain.js.map +1 -1
  29. package/dist/edit-policy.d.ts +3 -0
  30. package/dist/edit-policy.d.ts.map +1 -0
  31. package/dist/edit-policy.js +6 -0
  32. package/dist/edit-policy.js.map +1 -0
  33. package/dist/edits.d.ts +10 -0
  34. package/dist/edits.d.ts.map +1 -0
  35. package/dist/edits.js +1392 -0
  36. package/dist/edits.js.map +1 -0
  37. package/dist/engine-types.d.ts +110 -60
  38. package/dist/engine-types.d.ts.map +1 -1
  39. package/dist/engine-types.js +33 -0
  40. package/dist/engine-types.js.map +1 -1
  41. package/dist/engine.d.ts +69 -8
  42. package/dist/engine.d.ts.map +1 -1
  43. package/dist/engine.js +24 -18
  44. package/dist/engine.js.map +1 -1
  45. package/dist/files.d.ts.map +1 -1
  46. package/dist/files.js +31 -27
  47. package/dist/files.js.map +1 -1
  48. package/dist/fork.d.ts +147 -0
  49. package/dist/fork.d.ts.map +1 -0
  50. package/dist/fork.js +609 -0
  51. package/dist/fork.js.map +1 -0
  52. package/dist/history.d.ts +0 -4
  53. package/dist/history.d.ts.map +1 -1
  54. package/dist/history.js +166 -595
  55. package/dist/history.js.map +1 -1
  56. package/dist/index.d.ts +16 -4
  57. package/dist/index.d.ts.map +1 -1
  58. package/dist/index.js +12 -2
  59. package/dist/index.js.map +1 -1
  60. package/dist/job-queue.d.ts +2 -0
  61. package/dist/job-queue.d.ts.map +1 -1
  62. package/dist/job-queue.js +29 -2
  63. package/dist/job-queue.js.map +1 -1
  64. package/dist/media.d.ts.map +1 -1
  65. package/dist/media.js +1 -0
  66. package/dist/media.js.map +1 -1
  67. package/dist/merge-policy.d.ts +99 -0
  68. package/dist/merge-policy.d.ts.map +1 -0
  69. package/dist/merge-policy.js +310 -0
  70. package/dist/merge-policy.js.map +1 -0
  71. package/dist/metadata.d.ts.map +1 -1
  72. package/dist/metadata.js +15 -20
  73. package/dist/metadata.js.map +1 -1
  74. package/dist/migration.d.ts +9 -0
  75. package/dist/migration.d.ts.map +1 -0
  76. package/dist/migration.js +534 -0
  77. package/dist/migration.js.map +1 -0
  78. package/dist/mvp-contract-fixtures.d.ts +244 -0
  79. package/dist/mvp-contract-fixtures.d.ts.map +1 -0
  80. package/dist/mvp-contract-fixtures.js +556 -0
  81. package/dist/mvp-contract-fixtures.js.map +1 -0
  82. package/dist/mvp-contracts.d.ts +761 -0
  83. package/dist/mvp-contracts.d.ts.map +1 -0
  84. package/dist/mvp-contracts.js +59 -0
  85. package/dist/mvp-contracts.js.map +1 -0
  86. package/dist/mvp-time.d.ts +54 -0
  87. package/dist/mvp-time.d.ts.map +1 -0
  88. package/dist/mvp-time.js +148 -0
  89. package/dist/mvp-time.js.map +1 -0
  90. package/dist/notebook/types.d.ts +113 -8
  91. package/dist/notebook/types.d.ts.map +1 -1
  92. package/dist/order-keys.d.ts +22 -0
  93. package/dist/order-keys.d.ts.map +1 -0
  94. package/dist/order-keys.js +262 -0
  95. package/dist/order-keys.js.map +1 -0
  96. package/dist/runtime-services.js +4 -2
  97. package/dist/runtime-services.js.map +1 -1
  98. package/dist/schema.d.ts +24 -5
  99. package/dist/schema.d.ts.map +1 -1
  100. package/dist/schema.js +644 -132
  101. package/dist/schema.js.map +1 -1
  102. package/dist/search-benchmark.d.ts +4 -0
  103. package/dist/search-benchmark.d.ts.map +1 -0
  104. package/dist/search-benchmark.js +144 -0
  105. package/dist/search-benchmark.js.map +1 -0
  106. package/dist/sequences.d.ts +20 -0
  107. package/dist/sequences.d.ts.map +1 -0
  108. package/dist/sequences.js +825 -0
  109. package/dist/sequences.js.map +1 -0
  110. package/dist/similarity.js +1 -1
  111. package/dist/storage.d.ts +3 -1
  112. package/dist/storage.d.ts.map +1 -1
  113. package/dist/storage.js +388 -7
  114. package/dist/storage.js.map +1 -1
  115. package/dist/store.d.ts +63 -2
  116. package/dist/store.d.ts.map +1 -1
  117. package/dist/store.js +351 -65
  118. package/dist/store.js.map +1 -1
  119. package/dist/streams.d.ts +10 -0
  120. package/dist/streams.d.ts.map +1 -0
  121. package/dist/streams.js +183 -0
  122. package/dist/streams.js.map +1 -0
  123. package/dist/temporal-models.d.ts +48 -0
  124. package/dist/temporal-models.d.ts.map +1 -0
  125. package/dist/temporal-models.js +278 -0
  126. package/dist/temporal-models.js.map +1 -0
  127. package/dist/temporal-search.d.ts +29 -0
  128. package/dist/temporal-search.d.ts.map +1 -0
  129. package/dist/temporal-search.js +1507 -0
  130. package/dist/temporal-search.js.map +1 -0
  131. package/dist/transcripts.d.ts +16 -0
  132. package/dist/transcripts.d.ts.map +1 -0
  133. package/dist/transcripts.js +519 -0
  134. package/dist/transcripts.js.map +1 -0
  135. package/docs/engine-layout.md +346 -106
  136. package/docs/mvp-prd.md +918 -0
  137. package/fixtures/media/vancat.mp4 +0 -0
  138. package/fixtures/media/vancat_profile.jpg +0 -0
  139. package/fixtures/v5/contract-fixtures.json +1532 -0
  140. package/package.json +30 -5
  141. package/dist/history-types.d.ts +0 -74
  142. package/dist/history-types.d.ts.map +0 -1
  143. package/dist/history-types.js +0 -2
  144. package/dist/history-types.js.map +0 -1
  145. package/dist/timeline.d.ts +0 -9
  146. package/dist/timeline.d.ts.map +0 -1
  147. package/dist/timeline.js +0 -236
  148. package/dist/timeline.js.map +0 -1
package/dist/engine.js CHANGED
@@ -13,14 +13,22 @@ import { EngineContext } from "./context.js";
13
13
  import { JobQueue } from "./job-queue.js";
14
14
  import { canonicalJson } from "./store.js";
15
15
  import { createSimilarityApi } from "./similarity.js";
16
- import { createTimelineApi } from "./timeline.js";
16
+ import { createStreamsApi } from "./streams.js";
17
+ import { createTranscriptsApi } from "./transcripts.js";
18
+ import { createSequencesApi } from "./sequences.js";
19
+ import { createEditsApi } from "./edits.js";
20
+ import { createTemporalSearchApi } from "./temporal-search.js";
17
21
  export class Engine {
18
22
  book;
19
23
  artifacts;
20
24
  files;
21
25
  workspaces;
22
26
  metadata;
23
- timeline;
27
+ streams;
28
+ transcripts;
29
+ sequences;
30
+ edits;
31
+ temporalSearch;
24
32
  entities;
25
33
  notebooks;
26
34
  prompts;
@@ -43,7 +51,11 @@ export class Engine {
43
51
  this.files = createFilesApi(this.context);
44
52
  this.workspaces = createWorkspacesApi(this.context);
45
53
  this.metadata = createMetadataApi(this.context);
46
- this.timeline = createTimelineApi(this.context);
54
+ this.streams = createStreamsApi(this.context);
55
+ this.transcripts = createTranscriptsApi(this.context);
56
+ this.sequences = createSequencesApi(this.context);
57
+ this.edits = createEditsApi(this.context);
58
+ this.temporalSearch = createTemporalSearchApi(this.context);
47
59
  this.entities = createEntitiesApi(this.context);
48
60
  this.notebooks = createNotebooksApi(this.context);
49
61
  this.prompts = createPromptsApi(this.context);
@@ -100,23 +112,17 @@ export class Engine {
100
112
  async recordTerminalJob(job) {
101
113
  if (!isTerminal(job.state))
102
114
  return;
103
- await this.context.store.semantic({
104
- operation: `job_${job.state}`,
105
- artifactId: job.artifactId ?? undefined,
106
- details: {
107
- jobOperationId: job.operationId,
108
- jobId: job.id,
109
- jobType: job.type,
110
- state: job.state,
111
- },
112
- writeSet: [`job-run:${job.operationId}`],
113
- }, ["job_runs"], (_operationId, now) => {
115
+ // job_runs rows are ignored runtime bookkeeping, not semantic history,
116
+ // so recording a terminal job must never mint a commit. In particular,
117
+ // reconciling terminal jobs when a catalog is opened keeps open
118
+ // read-only: a freshly cloned fork no longer diverges just by opening.
119
+ this.context.store.runtime((now) => {
114
120
  this.context.store.db
115
121
  .prepare(`INSERT OR IGNORE INTO job_runs(
116
- run_id, artifact_id, job_type, state,
117
- payload_json, result_json, error_json,
118
- started_at, finished_at
119
- ) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)`)
122
+ run_id, artifact_id, job_type, state,
123
+ payload_json, result_json, error_json,
124
+ started_at, finished_at
125
+ ) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)`)
120
126
  .run(job.operationId, job.artifactId, job.type, job.state, canonicalJson(job.payload), job.result === null ? null : canonicalJson(job.result), job.error === null ? null : canonicalJson(job.error), job.startedAt, job.finishedAt ?? now);
121
127
  });
122
128
  }
@@ -1 +1 @@
1
- {"version":3,"file":"engine.js","sourceRoot":"","sources":["../src/engine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"engine.js","sourceRoot":"","sources":["../src/engine.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"files.d.ts","sourceRoot":"","sources":["../src/files.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,gBAAgB,EAEhB,WAAW,EACX,MAAM,EACP,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,aAAa,EAA0B,MAAM,cAAc,CAAC;AASrE,wBAAgB,cAAc,CAAC,OAAO,EAAE,aAAa;sBAGrC,MAAM,YACN,MAAM,QACV,MAAM,GAAG,MAAM,KACpB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;8BAG3B,MAAM,YACN,MAAM,cACJ,MAAM,KACjB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;qBAG3B,MAAM,YACN,MAAM,KACf,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;uBAE3B,MAAM,YACN,MAAM,KACf,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;uBAE3B,MAAM,eACH,MAAM,eACN,MAAM,KAClB,OAAO,CAAC,MAAM,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,EAAE,WAAW,CAAC,CAAC;qBAGzD,MAAM,YACN,MAAM,uBACK,MAAM,uBACN,MAAM,KAC1B,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;yBAS3B,MAAM,YACN;QAAE,eAAe,CAAC,EAAE,OAAO,CAAA;KAAE,KACtC,OAAO,CAAC,MAAM,CAAC,gBAAgB,EAAE,WAAW,CAAC,CAAC;2BAGrC,MAAM,UACR,MAAM,KACb,MAAM,CAAC,MAAM,EAAE,EAAE,WAAW,CAAC;gCAEpB,MAAM,SACT,MAAM,EAAE,gCAEN,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAC/B,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;iCAGzB,MAAM,YACR,MAAM,YACN,MAAM,KACf,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;+BAEZ,MAAM;EAEpC;AAED,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,aAAa;gCAE1B,MAAM,KAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;4BAEjD,MAAM,KAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;sBAEnD,MAAM,KAAG,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;EAGnE;AAicD,wBAAsB,mBAAmB,CACvC,OAAO,EAAE,aAAa,EACtB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,MAAM,CAAC,CAwBjB;AAqID,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAWvD"}
1
+ {"version":3,"file":"files.d.ts","sourceRoot":"","sources":["../src/files.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,gBAAgB,EAEhB,WAAW,EACX,MAAM,EACP,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,aAAa,EAA0B,MAAM,cAAc,CAAC;AAQrE,wBAAgB,cAAc,CAAC,OAAO,EAAE,aAAa;sBAGrC,MAAM,YACN,MAAM,QACV,MAAM,GAAG,MAAM,KACpB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;8BAG3B,MAAM,YACN,MAAM,cACJ,MAAM,KACjB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;qBAG3B,MAAM,YACN,MAAM,KACf,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;uBAE3B,MAAM,YACN,MAAM,KACf,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;uBAE3B,MAAM,eACH,MAAM,eACN,MAAM,KAClB,OAAO,CAAC,MAAM,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,EAAE,WAAW,CAAC,CAAC;qBAGzD,MAAM,YACN,MAAM,uBACK,MAAM,uBACN,MAAM,KAC1B,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;yBAS3B,MAAM,YACN;QAAE,eAAe,CAAC,EAAE,OAAO,CAAA;KAAE,KACtC,OAAO,CAAC,MAAM,CAAC,gBAAgB,EAAE,WAAW,CAAC,CAAC;2BAGrC,MAAM,UACR,MAAM,KACb,MAAM,CAAC,MAAM,EAAE,EAAE,WAAW,CAAC;gCAEpB,MAAM,SACT,MAAM,EAAE,gCAEN,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAC/B,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;iCAGzB,MAAM,YACR,MAAM,YACN,MAAM,KACf,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;+BAEZ,MAAM;EAEpC;AAED,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,aAAa;gCAE1B,MAAM,KAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;4BAEjD,MAAM,KAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;sBAEnD,MAAM,KAAG,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;EAGnE;AAybD,wBAAsB,mBAAmB,CACvC,OAAO,EAAE,aAAa,EACtB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,MAAM,CAAC,CAwBjB;AAsID,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAWvD"}
package/dist/files.js CHANGED
@@ -31,9 +31,9 @@ async function writeFile(context, artifactReference, filename, data) {
31
31
  const object = await context.objects.put(data);
32
32
  const destination = path.join(context.ensureArtifactWorkspace(artifact.artifact_id), ...relativePath.split("/"));
33
33
  await context.objects.materialize(object.hash, destination);
34
- const mtimeMs = Date.now();
35
34
  const mutation = await context.store.semantic({
36
35
  operation: "write_file",
36
+ tables: ["objects", "artifact_files"],
37
37
  artifactId: artifact.artifact_id,
38
38
  details: {
39
39
  path: relativePath,
@@ -44,12 +44,11 @@ async function writeFile(context, artifactReference, filename, data) {
44
44
  `artifact:${artifact.artifact_id}`,
45
45
  `file:${artifact.artifact_id}:${relativePath}`,
46
46
  ],
47
- }, ["objects", "artifact_files"], (_operationId, now) => {
47
+ }, (_operationId, now) => {
48
48
  linkObject(context, artifact.artifact_id, {
49
49
  relativePath,
50
50
  objectHash: object.hash,
51
51
  size: object.size,
52
- mtimeMs,
53
52
  }, now);
54
53
  markWorkspaceReady(context, artifact.artifact_id, now);
55
54
  });
@@ -65,6 +64,7 @@ async function writeFromPath(context, artifactReference, filename, sourcePath) {
65
64
  await context.objects.materialize(object.hash, destination);
66
65
  const mutation = await context.store.semantic({
67
66
  operation: "write_file",
67
+ tables: ["objects", "artifact_files"],
68
68
  artifactId: artifact.artifact_id,
69
69
  details: {
70
70
  path: relativePath,
@@ -75,12 +75,11 @@ async function writeFromPath(context, artifactReference, filename, sourcePath) {
75
75
  `artifact:${artifact.artifact_id}`,
76
76
  `file:${artifact.artifact_id}:${relativePath}`,
77
77
  ],
78
- }, ["objects", "artifact_files"], (_operationId, now) => {
78
+ }, (_operationId, now) => {
79
79
  linkObject(context, artifact.artifact_id, {
80
80
  relativePath,
81
81
  objectHash: object.hash,
82
82
  size: object.size,
83
- mtimeMs: now,
84
83
  }, now);
85
84
  markWorkspaceReady(context, artifact.artifact_id, now);
86
85
  });
@@ -106,10 +105,11 @@ async function deleteFile(context, artifactReference, filename) {
106
105
  requiredFile(context, artifact.artifact_id, relativePath);
107
106
  const mutation = await context.store.semantic({
108
107
  operation: "delete_file",
108
+ tables: ["artifact_files"],
109
109
  artifactId: artifact.artifact_id,
110
110
  details: { path: relativePath },
111
111
  writeSet: [`file:${artifact.artifact_id}:${relativePath}`],
112
- }, ["artifact_files"], () => {
112
+ }, () => {
113
113
  context.store.db
114
114
  .prepare("DELETE FROM artifact_files WHERE artifact_id=? AND path=?")
115
115
  .run(artifact.artifact_id, relativePath);
@@ -134,17 +134,18 @@ async function renameFile(context, artifactReference, oldFilename, newFilename)
134
134
  await context.objects.materialize(row.object_hash, newPath);
135
135
  const mutation = await context.store.semantic({
136
136
  operation: "rename_file",
137
+ tables: ["artifact_files"],
137
138
  artifactId: artifact.artifact_id,
138
139
  details: { oldPath: oldRelative, newPath: newRelative },
139
140
  writeSet: [
140
141
  `file:${artifact.artifact_id}:${oldRelative}`,
141
142
  `file:${artifact.artifact_id}:${newRelative}`,
142
143
  ],
143
- }, ["artifact_files"], (_operationId, now) => {
144
+ }, () => {
144
145
  context.store.db
145
- .prepare(`UPDATE artifact_files SET path=?, mtime_ms=?
146
+ .prepare(`UPDATE artifact_files SET path=?
146
147
  WHERE artifact_id=? AND path=?`)
147
- .run(newRelative, now, artifact.artifact_id, oldRelative);
148
+ .run(newRelative, artifact.artifact_id, oldRelative);
148
149
  });
149
150
  await rm(oldPath, { force: true });
150
151
  return ok({ oldPath, newPath }, mutation.revision);
@@ -161,6 +162,7 @@ async function copyFile(context, sourceReference, filename, destinationReference
161
162
  await context.objects.materialize(row.object_hash, absolute);
162
163
  const mutation = await context.store.semantic({
163
164
  operation: "copy_file",
165
+ tables: ["artifact_files"],
164
166
  artifactId: destination.artifact_id,
165
167
  details: {
166
168
  sourceArtifactId: source.artifact_id,
@@ -168,15 +170,14 @@ async function copyFile(context, sourceReference, filename, destinationReference
168
170
  destinationPath,
169
171
  },
170
172
  writeSet: [`file:${destination.artifact_id}:${destinationPath}`],
171
- }, ["artifact_files"], (_operationId, now) => {
173
+ }, (_operationId, now) => {
172
174
  context.store.db
173
175
  .prepare(`INSERT INTO artifact_files(
174
- artifact_id, path, object_hash, mtime_ms, created_at
175
- ) VALUES (?, ?, ?, ?, ?)
176
+ artifact_id, path, object_hash, created_at
177
+ ) VALUES (?, ?, ?, ?)
176
178
  ON CONFLICT(artifact_id, path) DO UPDATE SET
177
- object_hash=excluded.object_hash,
178
- mtime_ms=excluded.mtime_ms`)
179
- .run(destination.artifact_id, destinationPath, row.object_hash, now, now);
179
+ object_hash=excluded.object_hash`)
180
+ .run(destination.artifact_id, destinationPath, row.object_hash, now);
180
181
  markWorkspaceReady(context, destination.artifact_id, now);
181
182
  });
182
183
  return ok(absolute, mutation.revision);
@@ -246,21 +247,20 @@ async function ingestWorkspace(context, artifactReference, paths, operation, det
246
247
  const prepared = [];
247
248
  for (const relativePath of expandedPaths) {
248
249
  const source = path.join(workspace, ...relativePath.split("/"));
249
- const sourceStat = await stat(source);
250
250
  const object = await context.objects.import(source);
251
251
  prepared.push({
252
252
  relativePath,
253
253
  objectHash: object.hash,
254
254
  size: object.size,
255
- mtimeMs: sourceStat.mtimeMs,
256
255
  });
257
256
  }
258
257
  const mutation = await context.store.semantic({
259
258
  operation,
259
+ tables: ["objects", "artifact_files"],
260
260
  artifactId: artifact.artifact_id,
261
261
  details: { ...details, paths: expandedPaths },
262
262
  writeSet: expandedPaths.map((item) => `file:${artifact.artifact_id}:${item}`),
263
- }, ["objects", "artifact_files"], (_operationId, now) => {
263
+ }, (_operationId, now) => {
264
264
  for (const file of prepared)
265
265
  linkObject(context, artifact.artifact_id, file, now);
266
266
  markWorkspaceReady(context, artifact.artifact_id, now);
@@ -345,19 +345,22 @@ export async function materializeArtifact(context, artifactId) {
345
345
  return workspace;
346
346
  }
347
347
  function linkObject(context, artifactId, file, now) {
348
+ // Re-linking resurrects a forgotten object: the bytes were re-created by
349
+ // the caller before this mutation, so the tombstone marker is cleared and
350
+ // backup will publish the object again. A no-op rewrite of an already
351
+ // clear row produces no Dolt row diff and therefore no commit.
348
352
  context.store.db
349
353
  .prepare(`INSERT INTO objects(object_hash, size_bytes, created_at)
350
354
  VALUES (?, ?, ?)
351
- ON CONFLICT(object_hash) DO NOTHING`)
355
+ ON CONFLICT(object_hash) DO UPDATE SET forgotten_at=NULL`)
352
356
  .run(file.objectHash, file.size, now);
353
357
  context.store.db
354
358
  .prepare(`INSERT INTO artifact_files(
355
- artifact_id, path, object_hash, mtime_ms, created_at
356
- ) VALUES (?, ?, ?, ?, ?)
359
+ artifact_id, path, object_hash, created_at
360
+ ) VALUES (?, ?, ?, ?)
357
361
  ON CONFLICT(artifact_id, path) DO UPDATE SET
358
- object_hash=excluded.object_hash,
359
- mtime_ms=excluded.mtime_ms`)
360
- .run(artifactId, file.relativePath, file.objectHash, file.mtimeMs, now);
362
+ object_hash=excluded.object_hash`)
363
+ .run(artifactId, file.relativePath, file.objectHash, now);
361
364
  }
362
365
  function markWorkspaceReady(context, artifactId, now) {
363
366
  context.store.db
@@ -388,7 +391,7 @@ function touchWorkspace(context, artifactId) {
388
391
  function requiredFile(context, artifactId, relativePath) {
389
392
  const row = context.store.db
390
393
  .prepare(`SELECT f.artifact_id, f.path, f.object_hash, o.size_bytes,
391
- f.mtime_ms, f.created_at
394
+ f.created_at
392
395
  FROM artifact_files f
393
396
  JOIN objects o ON o.object_hash=f.object_hash
394
397
  WHERE f.artifact_id=? AND f.path=?`)
@@ -405,7 +408,7 @@ function fileExists(context, artifactId, relativePath) {
405
408
  function filesForArtifact(context, artifactId) {
406
409
  return context.store.db
407
410
  .prepare(`SELECT f.artifact_id, f.path, f.object_hash, o.size_bytes,
408
- f.mtime_ms, f.created_at
411
+ f.created_at
409
412
  FROM artifact_files f
410
413
  JOIN objects o ON o.object_hash=f.object_hash
411
414
  WHERE f.artifact_id=? ORDER BY f.path`)
@@ -417,7 +420,6 @@ function rowToManifestFile(row) {
417
420
  name: row.path,
418
421
  sizeBytes: row.size_bytes,
419
422
  extension: path.extname(row.path) || null,
420
- mtimeMs: row.mtime_ms,
421
423
  ...(mimeType ? { mimeType } : {}),
422
424
  objectHash: row.object_hash,
423
425
  };
@@ -452,6 +454,8 @@ function mimeTypeFor(filename) {
452
454
  return "video/quicktime";
453
455
  case ".webm":
454
456
  return "video/webm";
457
+ case ".weba":
458
+ return "audio/webm";
455
459
  case ".mp3":
456
460
  return "audio/mpeg";
457
461
  case ".wav":
package/dist/files.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"files.js","sourceRoot":"","sources":["../src/files.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"files.js","sourceRoot":"","sources":["../src/files.ts"],"names":[],"mappings":"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"}
package/dist/fork.d.ts ADDED
@@ -0,0 +1,147 @@
1
+ import type { CatalogBackupConfig, ContentStore, EngineIdentity } from "./engine-types.js";
2
+ import { type Engine } from "./engine.js";
3
+ /**
4
+ * Fork bootstrap and merge-back integration (ve-mim.7; see
5
+ * docs/engine-layout.md "Forks and merge-back integration").
6
+ *
7
+ * A fork is, from the engine's point of view:
8
+ *
9
+ * 1. a platform fork — creating the hosted copy of the catalog and giving it
10
+ * a URL is the hosting layer's job, out of engine scope;
11
+ * 2. a clone of the catalog into a local engine root (`bootstrapFork`);
12
+ * 3. a public-read object store keyed by SHA-256. `ContentStore` stays the
13
+ * abstraction; the existing `ensureLocal` lazy fetch in src/cas.ts makes
14
+ * upstream objects readable to forkers on first touch. Whether the
15
+ * fork's store proxies to upstream's is a hosting concern — the engine
16
+ * only ever sees one `ContentStore` per engine root.
17
+ *
18
+ * The live-engine never-pulls rule stands: an open engine never fetches,
19
+ * pulls, or merges. Integration happens in a DEDICATED merge-back flow
20
+ * (`mergeBack`) that runs on a throwaway copy of a closed catalog database
21
+ * in a temp directory, never on the user's open live catalog.
22
+ *
23
+ * ve-wsu routing (doltlite 0.11.37, verified empirically):
24
+ *
25
+ * - `dolt_clone` of the full 28-table catalog produces a malformed database
26
+ * (`invalid rootpage` on a secondary autoindex; the file cannot even be
27
+ * opened for reads). `bootstrapFork` therefore bootstraps from a byte
28
+ * snapshot of a healthy catalog database; a URL clone is attempted and
29
+ * health-validated, and surfaces a typed FEATURE_UNAVAILABLE error while
30
+ * the upstream bug stands.
31
+ * - `dolt_merge`'s uncommitted-changes guard misfires on the full catalog
32
+ * (every table reports phantom `modified` status with zero row diffs).
33
+ * Committing the phantom dirt passes the guard, but the merge then dies
34
+ * in schema loading (`schema conflict on table 'sqlite_autoindex_*'`),
35
+ * and `dolt_checkout` corrupts the working set, so no branch dance can
36
+ * produce a true two-parent merge commit either. `mergeBack` therefore
37
+ * performs the same three-way merge at the projection layer
38
+ * (`dolt_merge_base` + `dolt_at_<table>` snapshots, which are unaffected)
39
+ * under the exact src/merge-policy.ts policy, and lands a forward
40
+ * integration commit on main that records the integrated fork head in a
41
+ * `merged-revision` trailer. When ve-wsu is fixed, the projection merge
42
+ * in `mergeRefs` is the single swap point for `mergeWithPolicy` +
43
+ * `dolt_merge`.
44
+ */
45
+ export interface ForkBootstrapOptions {
46
+ dataDir: string;
47
+ workspaceDir: string;
48
+ /**
49
+ * Byte snapshot of a healthy upstream catalog database (a copy of its
50
+ * `videobook.db` taken while the upstream engine was closed). This is the
51
+ * bootstrap that works with doltlite 0.11.37; the hosting layer provides
52
+ * the snapshot when it creates the platform fork.
53
+ */
54
+ snapshotPath?: string;
55
+ /**
56
+ * Upstream catalog remote URL to `dolt_clone`. Currently blocked by
57
+ * ve-wsu for full engine catalogs; the clone is attempted and the result
58
+ * health-validated so this path starts working unchanged once doltlite
59
+ * is fixed. Mutually exclusive with `snapshotPath`.
60
+ */
61
+ upstreamUrl?: string;
62
+ remoteObjects?: ContentStore;
63
+ objectPrefix?: string;
64
+ /** Remote registration for the fork's own catalog remote (push target). */
65
+ catalogBackup?: CatalogBackupConfig;
66
+ identity?: EngineIdentity;
67
+ }
68
+ export interface MergeBackOptions {
69
+ /**
70
+ * Path to a healthy upstream catalog database file (its `videobook.db`).
71
+ * The file is only read — it is copied into a temp workspace and all
72
+ * merging happens there. The upstream engine must be closed (or pass a
73
+ * snapshot taken while it was closed) so the copy is consistent.
74
+ */
75
+ upstreamDbPath: string;
76
+ /**
77
+ * Upstream catalog remote to push the integration commit to. Defaults to
78
+ * the `origin` remote already registered in the upstream database.
79
+ */
80
+ upstreamRemote?: CatalogBackupConfig;
81
+ /** Fork catalog remote to fetch the fork's commits from. */
82
+ forkRemote: {
83
+ name?: string;
84
+ url: string;
85
+ };
86
+ forkBranch?: string;
87
+ /** Upstream object store: fork objects are uploaded here before push. */
88
+ upstreamObjects?: ContentStore;
89
+ /** Fork object store (public-read): source of the fork's new objects. */
90
+ forkObjects?: ContentStore;
91
+ objectPrefix?: string;
92
+ /** Commit author for the integration commit. */
93
+ author?: string;
94
+ /** Directory for the throwaway merge workspace (defaults to a temp dir). */
95
+ workDir?: string;
96
+ /** Keep the merge workspace for inspection instead of deleting it. */
97
+ keepWorkDir?: boolean;
98
+ }
99
+ export interface MergeBackResult {
100
+ /** HEAD of upstream main after the flow (the integration commit). */
101
+ integrationCommit: string;
102
+ /** Merge base used for the three-way merge. */
103
+ baseRevision: string;
104
+ /** Upstream main head before the merge. */
105
+ oursRevision: string;
106
+ /** Integrated fork head, recorded in the commit's merged-revision trailer. */
107
+ theirsRevision: string;
108
+ /** True when the fork was already fully integrated (no commit minted). */
109
+ alreadyIntegrated: boolean;
110
+ /** Fork object hashes uploaded to the upstream object store. */
111
+ uploadedObjects: string[];
112
+ reconciledTranscripts: number;
113
+ reconciledSequences: number;
114
+ /** Merge workspace path when `keepWorkDir` was set. */
115
+ workDir?: string;
116
+ }
117
+ export interface RowConflict {
118
+ table: string;
119
+ key: Record<string, unknown>;
120
+ reason: string;
121
+ }
122
+ /**
123
+ * Bootstraps a fork: clones the upstream catalog into a new local engine
124
+ * root and opens it as a normal engine. The fork is a full citizen from
125
+ * there — it commits on its own main, backs up to its own catalog remote,
126
+ * and reads upstream objects lazily through its configured `ContentStore`.
127
+ * It never pulls; integration is the merge-back flow's job.
128
+ */
129
+ export declare function bootstrapFork(options: ForkBootstrapOptions): Promise<Engine>;
130
+ /**
131
+ * Integrates a fork back into upstream main.
132
+ *
133
+ * Runs entirely in a throwaway copy of the upstream catalog inside a temp
134
+ * directory: fetches the fork, merges under the engine merge policy
135
+ * (same-schema precondition, user-facing slug conflicts, constraint
136
+ * verification, deterministic singleton reconcile), uploads the fork's new
137
+ * objects to the upstream object store BEFORE the catalog ref moves — the
138
+ * same objects-before-push ordering as engine.storage.backup — lands one
139
+ * forward integration commit on main, and pushes it.
140
+ *
141
+ * The caller's open engines are never touched: the upstream database file
142
+ * is only read (copied), and the fork is only fetched from. Conflicts and
143
+ * violations surface as the typed MERGE_CONFLICT / MERGE_VIOLATION /
144
+ * SCHEMA_INCOMPATIBLE errors from src/merge-policy.ts.
145
+ */
146
+ export declare function mergeBack(options: MergeBackOptions): Promise<MergeBackResult>;
147
+ //# sourceMappingURL=fork.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fork.d.ts","sourceRoot":"","sources":["../src/fork.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EACV,mBAAmB,EACnB,YAAY,EACZ,cAAc,EACf,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAgB,KAAK,MAAM,EAAE,MAAM,aAAa,CAAC;AAUxD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AAEH,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB;;;;;OAKG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;;;OAKG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,YAAY,CAAC;IAC7B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,2EAA2E;IAC3E,aAAa,CAAC,EAAE,mBAAmB,CAAC;IACpC,QAAQ,CAAC,EAAE,cAAc,CAAC;CAC3B;AAED,MAAM,WAAW,gBAAgB;IAC/B;;;;;OAKG;IACH,cAAc,EAAE,MAAM,CAAC;IACvB;;;OAGG;IACH,cAAc,CAAC,EAAE,mBAAmB,CAAC;IACrC,4DAA4D;IAC5D,UAAU,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC;IAC3C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,yEAAyE;IACzE,eAAe,CAAC,EAAE,YAAY,CAAC;IAC/B,yEAAyE;IACzE,WAAW,CAAC,EAAE,YAAY,CAAC;IAC3B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,gDAAgD;IAChD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,4EAA4E;IAC5E,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,sEAAsE;IACtE,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,MAAM,WAAW,eAAe;IAC9B,qEAAqE;IACrE,iBAAiB,EAAE,MAAM,CAAC;IAC1B,+CAA+C;IAC/C,YAAY,EAAE,MAAM,CAAC;IACrB,2CAA2C;IAC3C,YAAY,EAAE,MAAM,CAAC;IACrB,8EAA8E;IAC9E,cAAc,EAAE,MAAM,CAAC;IACvB,0EAA0E;IAC1E,iBAAiB,EAAE,OAAO,CAAC;IAC3B,gEAAgE;IAChE,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,qBAAqB,EAAE,MAAM,CAAC;IAC9B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,uDAAuD;IACvD,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAaD,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC7B,MAAM,EAAE,MAAM,CAAC;CAChB;AAID;;;;;;GAMG;AACH,wBAAsB,aAAa,CACjC,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC,MAAM,CAAC,CAoDjB;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,SAAS,CAC7B,OAAO,EAAE,gBAAgB,GACxB,OAAO,CAAC,eAAe,CAAC,CAc1B"}