videobook-engine 4.2.0 → 5.3.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (244) hide show
  1. package/README.md +84 -39
  2. package/dist/artifacts.d.ts +5 -10
  3. package/dist/artifacts.d.ts.map +1 -1
  4. package/dist/artifacts.js +79 -142
  5. package/dist/artifacts.js.map +1 -1
  6. package/dist/books.d.ts +1 -1
  7. package/dist/books.d.ts.map +1 -1
  8. package/dist/books.js +16 -9
  9. package/dist/books.js.map +1 -1
  10. package/dist/cas.d.ts +2 -1
  11. package/dist/cas.d.ts.map +1 -1
  12. package/dist/cas.js +33 -4
  13. package/dist/cas.js.map +1 -1
  14. package/dist/catalog-gc-state.d.ts +4 -0
  15. package/dist/catalog-gc-state.d.ts.map +1 -0
  16. package/dist/catalog-gc-state.js +49 -0
  17. package/dist/catalog-gc-state.js.map +1 -0
  18. package/dist/catalog-metadata.d.ts +2 -2
  19. package/dist/catalog-metadata.js +3 -3
  20. package/dist/catalog-metadata.js.map +1 -1
  21. package/dist/context.d.ts +5 -5
  22. package/dist/context.d.ts.map +1 -1
  23. package/dist/context.js +17 -49
  24. package/dist/context.js.map +1 -1
  25. package/dist/domain.d.ts +35 -2
  26. package/dist/domain.d.ts.map +1 -1
  27. package/dist/domain.js +131 -161
  28. package/dist/domain.js.map +1 -1
  29. package/dist/edits.js +2 -2
  30. package/dist/edits.js.map +1 -1
  31. package/dist/engine-types.d.ts +159 -39
  32. package/dist/engine-types.d.ts.map +1 -1
  33. package/dist/engine-types.js +2 -1
  34. package/dist/engine-types.js.map +1 -1
  35. package/dist/engine.d.ts +30 -20
  36. package/dist/engine.d.ts.map +1 -1
  37. package/dist/engine.js +46 -4
  38. package/dist/engine.js.map +1 -1
  39. package/dist/files.d.ts +10 -0
  40. package/dist/files.d.ts.map +1 -1
  41. package/dist/files.js +49 -2
  42. package/dist/files.js.map +1 -1
  43. package/dist/fork.d.ts +14 -30
  44. package/dist/fork.d.ts.map +1 -1
  45. package/dist/fork.js +18 -27
  46. package/dist/fork.js.map +1 -1
  47. package/dist/generations.d.ts +9 -0
  48. package/dist/generations.d.ts.map +1 -0
  49. package/dist/generations.js +175 -0
  50. package/dist/generations.js.map +1 -0
  51. package/dist/history.d.ts +2 -1
  52. package/dist/history.d.ts.map +1 -1
  53. package/dist/history.js +30 -57
  54. package/dist/history.js.map +1 -1
  55. package/dist/index.d.ts +8 -6
  56. package/dist/index.d.ts.map +1 -1
  57. package/dist/index.js +5 -5
  58. package/dist/index.js.map +1 -1
  59. package/dist/inline-temporal-models.d.ts +43 -0
  60. package/dist/inline-temporal-models.d.ts.map +1 -0
  61. package/dist/inline-temporal-models.js +236 -0
  62. package/dist/inline-temporal-models.js.map +1 -0
  63. package/dist/isolated-models.d.ts +8 -0
  64. package/dist/isolated-models.d.ts.map +1 -0
  65. package/dist/isolated-models.js +25 -0
  66. package/dist/isolated-models.js.map +1 -0
  67. package/dist/job-queue.d.ts +1 -1
  68. package/dist/job-queue.d.ts.map +1 -1
  69. package/dist/job-queue.js +20 -6
  70. package/dist/job-queue.js.map +1 -1
  71. package/dist/media-image.d.ts +8 -0
  72. package/dist/media-image.d.ts.map +1 -0
  73. package/dist/media-image.js +41 -0
  74. package/dist/media-image.js.map +1 -0
  75. package/dist/media-process.d.ts +13 -0
  76. package/dist/media-process.d.ts.map +1 -0
  77. package/dist/media-process.js +89 -0
  78. package/dist/media-process.js.map +1 -0
  79. package/dist/media.d.ts +3 -3
  80. package/dist/media.d.ts.map +1 -1
  81. package/dist/media.js +5 -5
  82. package/dist/media.js.map +1 -1
  83. package/dist/merge-policy.d.ts +16 -36
  84. package/dist/merge-policy.d.ts.map +1 -1
  85. package/dist/merge-policy.js +13 -125
  86. package/dist/merge-policy.js.map +1 -1
  87. package/dist/metadata.d.ts +1 -0
  88. package/dist/metadata.d.ts.map +1 -1
  89. package/dist/metadata.js +13 -3
  90. package/dist/metadata.js.map +1 -1
  91. package/dist/migrate-grid-text.d.ts +17 -0
  92. package/dist/migrate-grid-text.d.ts.map +1 -0
  93. package/dist/migrate-grid-text.js +117 -0
  94. package/dist/migrate-grid-text.js.map +1 -0
  95. package/dist/migrate-grid-v22.d.ts +12 -0
  96. package/dist/migrate-grid-v22.d.ts.map +1 -0
  97. package/dist/migrate-grid-v22.js +166 -0
  98. package/dist/migrate-grid-v22.js.map +1 -0
  99. package/dist/migrate-grid-v23.d.ts +10 -0
  100. package/dist/migrate-grid-v23.d.ts.map +1 -0
  101. package/dist/migrate-grid-v23.js +31 -0
  102. package/dist/migrate-grid-v23.js.map +1 -0
  103. package/dist/migration-notebooks.d.ts +25 -0
  104. package/dist/migration-notebooks.d.ts.map +1 -0
  105. package/dist/migration-notebooks.js +131 -0
  106. package/dist/migration-notebooks.js.map +1 -0
  107. package/dist/migration-source.d.ts +6 -0
  108. package/dist/migration-source.d.ts.map +1 -0
  109. package/dist/migration-source.js +37 -0
  110. package/dist/migration-source.js.map +1 -0
  111. package/dist/migration-timeline.d.ts +36 -0
  112. package/dist/migration-timeline.d.ts.map +1 -0
  113. package/dist/migration-timeline.js +187 -0
  114. package/dist/migration-timeline.js.map +1 -0
  115. package/dist/migration-validation.d.ts +12 -0
  116. package/dist/migration-validation.d.ts.map +1 -0
  117. package/dist/migration-validation.js +68 -0
  118. package/dist/migration-validation.js.map +1 -0
  119. package/dist/migration.d.ts.map +1 -1
  120. package/dist/migration.js +220 -119
  121. package/dist/migration.js.map +1 -1
  122. package/dist/model-cache-paths.d.ts +2 -0
  123. package/dist/model-cache-paths.d.ts.map +1 -0
  124. package/dist/model-cache-paths.js +5 -0
  125. package/dist/model-cache-paths.js.map +1 -0
  126. package/dist/model-checksums.json +338 -0
  127. package/dist/model-file-resolver.d.ts +30 -0
  128. package/dist/model-file-resolver.d.ts.map +1 -0
  129. package/dist/model-file-resolver.js +304 -0
  130. package/dist/model-file-resolver.js.map +1 -0
  131. package/dist/model-identity.d.ts +13 -0
  132. package/dist/model-identity.d.ts.map +1 -0
  133. package/dist/model-identity.js +44 -0
  134. package/dist/model-identity.js.map +1 -0
  135. package/dist/model-worker-errors.d.ts +3 -0
  136. package/dist/model-worker-errors.d.ts.map +1 -0
  137. package/dist/model-worker-errors.js +12 -0
  138. package/dist/model-worker-errors.js.map +1 -0
  139. package/dist/model-worker-pool.d.ts +32 -0
  140. package/dist/model-worker-pool.d.ts.map +1 -0
  141. package/dist/model-worker-pool.js +269 -0
  142. package/dist/model-worker-pool.js.map +1 -0
  143. package/dist/model-worker-protocol.d.ts +42 -0
  144. package/dist/model-worker-protocol.d.ts.map +1 -0
  145. package/dist/model-worker-protocol.js +2 -0
  146. package/dist/model-worker-protocol.js.map +1 -0
  147. package/dist/model-worker.d.ts +2 -0
  148. package/dist/model-worker.d.ts.map +1 -0
  149. package/dist/model-worker.js +91 -0
  150. package/dist/model-worker.js.map +1 -0
  151. package/dist/mvp-contract-fixtures.js +1 -1
  152. package/dist/mvp-contract-fixtures.js.map +1 -1
  153. package/dist/mvp-contracts.d.ts +32 -8
  154. package/dist/mvp-contracts.d.ts.map +1 -1
  155. package/dist/mvp-contracts.js +1 -1
  156. package/dist/mvp-contracts.js.map +1 -1
  157. package/dist/notebook/types.d.ts +1 -29
  158. package/dist/notebook/types.d.ts.map +1 -1
  159. package/dist/notebook-grid.d.ts +46 -0
  160. package/dist/notebook-grid.d.ts.map +1 -0
  161. package/dist/notebook-grid.js +187 -0
  162. package/dist/notebook-grid.js.map +1 -0
  163. package/dist/notebook-media-artifact.d.ts +23 -0
  164. package/dist/notebook-media-artifact.d.ts.map +1 -0
  165. package/dist/notebook-media-artifact.js +67 -0
  166. package/dist/notebook-media-artifact.js.map +1 -0
  167. package/dist/notebook-mentions.d.ts +20 -0
  168. package/dist/notebook-mentions.d.ts.map +1 -0
  169. package/dist/notebook-mentions.js +54 -0
  170. package/dist/notebook-mentions.js.map +1 -0
  171. package/dist/runtime-services.js +4 -9
  172. package/dist/runtime-services.js.map +1 -1
  173. package/dist/schema.d.ts +4 -19
  174. package/dist/schema.d.ts.map +1 -1
  175. package/dist/schema.js +66 -92
  176. package/dist/schema.js.map +1 -1
  177. package/dist/search-provider-access.d.ts +11 -0
  178. package/dist/search-provider-access.d.ts.map +1 -0
  179. package/dist/search-provider-access.js +42 -0
  180. package/dist/search-provider-access.js.map +1 -0
  181. package/dist/similarity.d.ts +60 -1
  182. package/dist/similarity.d.ts.map +1 -1
  183. package/dist/similarity.js +174 -154
  184. package/dist/similarity.js.map +1 -1
  185. package/dist/status.js +8 -10
  186. package/dist/status.js.map +1 -1
  187. package/dist/store.d.ts +16 -2
  188. package/dist/store.d.ts.map +1 -1
  189. package/dist/store.js +171 -17
  190. package/dist/store.js.map +1 -1
  191. package/dist/temporal-index-cache.d.ts +13 -0
  192. package/dist/temporal-index-cache.d.ts.map +1 -0
  193. package/dist/temporal-index-cache.js +59 -0
  194. package/dist/temporal-index-cache.js.map +1 -0
  195. package/dist/temporal-model-manifests.d.ts +17 -0
  196. package/dist/temporal-model-manifests.d.ts.map +1 -0
  197. package/dist/temporal-model-manifests.js +33 -0
  198. package/dist/temporal-model-manifests.js.map +1 -0
  199. package/dist/temporal-models.d.ts +20 -35
  200. package/dist/temporal-models.d.ts.map +1 -1
  201. package/dist/temporal-models.js +23 -257
  202. package/dist/temporal-models.js.map +1 -1
  203. package/dist/temporal-search.d.ts +6 -3
  204. package/dist/temporal-search.d.ts.map +1 -1
  205. package/dist/temporal-search.js +438 -122
  206. package/dist/temporal-search.js.map +1 -1
  207. package/dist/temporal-vector-index.d.ts +46 -0
  208. package/dist/temporal-vector-index.d.ts.map +1 -0
  209. package/dist/temporal-vector-index.js +220 -0
  210. package/dist/temporal-vector-index.js.map +1 -0
  211. package/dist/third-party/@huggingface-jinja.LICENSE +21 -0
  212. package/dist/third-party/@huggingface-tokenizers.LICENSE +201 -0
  213. package/dist/third-party/@huggingface-transformers.LICENSE +202 -0
  214. package/dist/third-party/onnxruntime-common.LICENSE +21 -0
  215. package/dist/third-party/versions.json +23 -0
  216. package/dist/transformers-runtime.d.ts +2 -0
  217. package/dist/transformers-runtime.d.ts.map +1 -0
  218. package/dist/transformers-runtime.js +33014 -0
  219. package/dist/transformers-runtime.js.LEGAL.txt +12 -0
  220. package/dist/transformers-runtime.js.map +7 -0
  221. package/docs/doltlite-staging.md +69 -0
  222. package/docs/edit-performance.md +83 -0
  223. package/docs/engine-layout.md +56 -50
  224. package/docs/media-limits.md +57 -0
  225. package/docs/model-download-policy.md +15 -0
  226. package/docs/model-integrity.md +72 -0
  227. package/docs/model-isolation.md +72 -0
  228. package/docs/model-revisions.md +54 -0
  229. package/docs/mvp-prd.md +2 -2
  230. package/docs/release-evidence.md +300 -0
  231. package/docs/search-provider-consent.md +67 -0
  232. package/docs/semantic-durability.md +55 -0
  233. package/docs/temporal-search-performance.md +260 -0
  234. package/docs/v4-migration.md +83 -0
  235. package/fixtures/v5/contract-fixtures.json +4 -4
  236. package/package.json +31 -13
  237. package/dist/artifact-names.d.ts +0 -6
  238. package/dist/artifact-names.d.ts.map +0 -1
  239. package/dist/artifact-names.js +0 -56
  240. package/dist/artifact-names.js.map +0 -1
  241. package/dist/resolver.d.ts +0 -15
  242. package/dist/resolver.d.ts.map +0 -1
  243. package/dist/resolver.js +0 -81
  244. package/dist/resolver.js.map +0 -1
package/dist/schema.js CHANGED
@@ -15,27 +15,13 @@ export const NOTEBOOK_CELL_TYPES = [
15
15
  "concat",
16
16
  "splice",
17
17
  ];
18
- export const NOTEBOOK_CELL_SLUG_PREFIXES = {
19
- audio: "aud",
20
- image: "img",
21
- video: "vid",
22
- extract_audio: "extract-audio",
23
- split_video: "split-video",
24
- prompt: "prompt",
25
- character: "char",
26
- analyze: "analyze",
27
- analysis: "analysis",
28
- generate_video: "generate-video",
29
- generate_image: "generate-image",
30
- generate_audio: "generate-audio",
31
- concat: "concat",
32
- splice: "splice",
18
+ // Cell types that were removed from the union but may still exist in stored
19
+ // rows (the cells-table CHECK below deliberately keeps accepting them so
20
+ // history.restore can reinsert legacy rows). Reads map them to their modern
21
+ // equivalent; writes stay strict.
22
+ export const LEGACY_NOTEBOOK_CELL_TYPE_ALIASES = {
23
+ extract_frame: "image",
33
24
  };
34
- const NOTEBOOK_CELL_SLUG_PATTERN = /^[a-z0-9]+(?:-[a-z0-9]+)+$/;
35
- export function isValidNotebookCellSlug(type, slug) {
36
- return NOTEBOOK_CELL_SLUG_PATTERN.test(slug)
37
- && slug.startsWith(`${NOTEBOOK_CELL_SLUG_PREFIXES[type]}-`);
38
- }
39
25
  // The staging allowlist is also the restore table list: history.restore
40
26
  // reloads every table below from its dolt_at_* projection, deleting in
41
27
  // reverse order and inserting in forward order. Keep the list ordered
@@ -56,8 +42,6 @@ export const SEMANTIC_TABLES = [
56
42
  "notebook_cell_executions",
57
43
  "notebook_generation_plans",
58
44
  "notebook_run_plans",
59
- "notebook_transcript_edits",
60
- "notebook_transcript_attachments",
61
45
  "edges",
62
46
  "runs",
63
47
  "cell_references",
@@ -75,6 +59,7 @@ export const SEMANTIC_TABLES = [
75
59
  "audio_waveforms",
76
60
  "prompt_entries",
77
61
  "messages",
62
+ "generations",
78
63
  ];
79
64
  export const RUNTIME_TABLES = [
80
65
  "runtime_meta",
@@ -101,6 +86,37 @@ export const RUNTIME_TABLES = [
101
86
  "runtime_text_similarity_documents",
102
87
  "runtime_text_similarity_chunks",
103
88
  ];
89
+ export const CELLS_TABLE_DEFINITION = `
90
+ notebook_id TEXT NOT NULL
91
+ REFERENCES notebooks(notebook_id) ON DELETE CASCADE,
92
+ cell_id TEXT NOT NULL,
93
+ type TEXT NOT NULL CHECK (
94
+ type IN (
95
+ 'audio','image','video','extract_audio','extract_frame','split_video',
96
+ 'prompt','character',
97
+ 'analyze','analysis','generate_video','generate_image','generate_audio',
98
+ 'concat','splice'
99
+ )
100
+ ),
101
+ label TEXT,
102
+ grid_row INTEGER NOT NULL CHECK (grid_row BETWEEN 0 AND 63),
103
+ grid_column INTEGER NOT NULL CHECK (grid_column BETWEEN 0 AND 7),
104
+ output_entity_id TEXT
105
+ REFERENCES entities(entity_id) ON DELETE RESTRICT,
106
+ prompt TEXT,
107
+ provider TEXT,
108
+ model TEXT,
109
+ operation TEXT,
110
+ tool TEXT,
111
+ inputs_json TEXT NOT NULL DEFAULT '{}',
112
+ output_artifact_id TEXT
113
+ REFERENCES artifacts(artifact_id) ON DELETE RESTRICT,
114
+ PRIMARY KEY(notebook_id, cell_id)
115
+ `;
116
+ const CELLS_TABLE_SQL = `
117
+ CREATE TABLE IF NOT EXISTS cells (
118
+ ${CELLS_TABLE_DEFINITION}
119
+ );`;
104
120
  export const SEMANTIC_SCHEMA_SQL = `
105
121
  CREATE TABLE IF NOT EXISTS engine_schema (
106
122
  singleton INTEGER PRIMARY KEY CHECK (singleton = 1),
@@ -110,13 +126,13 @@ export const SEMANTIC_SCHEMA_SQL = `
110
126
 
111
127
  CREATE TABLE IF NOT EXISTS book (
112
128
  book_id TEXT PRIMARY KEY,
113
- slug TEXT NOT NULL UNIQUE,
129
+ name TEXT NOT NULL,
114
130
  created_at INTEGER NOT NULL
115
131
  );
116
132
 
117
133
  CREATE TABLE IF NOT EXISTS artifacts (
118
134
  artifact_id TEXT PRIMARY KEY,
119
- slug TEXT NOT NULL UNIQUE,
135
+ label TEXT,
120
136
  kind TEXT NOT NULL CHECK (
121
137
  kind IN (
122
138
  'video','image','audio','script','character',
@@ -193,63 +209,13 @@ export const SEMANTIC_SCHEMA_SQL = `
193
209
  field TEXT NOT NULL CHECK (
194
210
  field IN (
195
211
  'description','lifecycle_state','workflow_version',
196
- 'analysis_revision','audio_spine','current_selection','fixture'
212
+ 'analysis_revision','fixture'
197
213
  )
198
214
  ),
199
215
  value_json TEXT NOT NULL,
200
216
  PRIMARY KEY(notebook_id, field)
201
217
  );
202
- CREATE TABLE IF NOT EXISTS cells (
203
- notebook_id TEXT NOT NULL
204
- REFERENCES notebooks(notebook_id) ON DELETE CASCADE,
205
- cell_id TEXT NOT NULL,
206
- type TEXT NOT NULL CHECK (
207
- type IN (
208
- 'audio','image','video','extract_audio','split_video',
209
- 'prompt','character',
210
- 'analyze','analysis','generate_video','generate_image','generate_audio',
211
- 'concat','splice'
212
- )
213
- ),
214
- slug TEXT NOT NULL CHECK (
215
- slug GLOB '[a-z0-9]*'
216
- AND slug NOT GLOB '*[^a-z0-9-]*'
217
- AND slug NOT GLOB '*--*'
218
- AND slug NOT LIKE '-%'
219
- AND slug NOT LIKE '%-'
220
- AND instr(slug, '-') > 0
221
- ),
222
- grid_row INTEGER NOT NULL CHECK (grid_row >= 0),
223
- grid_column INTEGER NOT NULL,
224
- output_entity_id TEXT
225
- REFERENCES entities(entity_id) ON DELETE RESTRICT,
226
- prompt TEXT,
227
- provider TEXT,
228
- model TEXT,
229
- operation TEXT,
230
- tool TEXT,
231
- inputs_json TEXT NOT NULL DEFAULT '{}',
232
- output_artifact_id TEXT
233
- REFERENCES artifacts(artifact_id) ON DELETE RESTRICT,
234
- PRIMARY KEY(notebook_id, cell_id),
235
- UNIQUE(notebook_id, slug),
236
- CHECK (
237
- (type = 'audio' AND slug LIKE 'aud-%')
238
- OR (type = 'image' AND slug LIKE 'img-%')
239
- OR (type = 'video' AND slug LIKE 'vid-%')
240
- OR (type = 'extract_audio' AND slug LIKE 'extract-audio-%')
241
- OR (type = 'split_video' AND slug LIKE 'split-video-%')
242
- OR (type = 'prompt' AND slug LIKE 'prompt-%')
243
- OR (type = 'character' AND slug LIKE 'char-%')
244
- OR (type = 'analyze' AND slug LIKE 'analyze-%')
245
- OR (type = 'analysis' AND slug LIKE 'analysis-%')
246
- OR (type = 'generate_video' AND slug LIKE 'generate-video-%')
247
- OR (type = 'generate_image' AND slug LIKE 'generate-image-%')
248
- OR (type = 'generate_audio' AND slug LIKE 'generate-audio-%')
249
- OR (type = 'concat' AND slug LIKE 'concat-%')
250
- OR (type = 'splice' AND slug LIKE 'splice-%')
251
- )
252
- );
218
+ ${CELLS_TABLE_SQL}
253
219
  CREATE TABLE IF NOT EXISTS notebook_cell_executions (
254
220
  notebook_id TEXT NOT NULL,
255
221
  cell_id TEXT NOT NULL,
@@ -302,22 +268,6 @@ export const SEMANTIC_SCHEMA_SQL = `
302
268
  error TEXT,
303
269
  PRIMARY KEY(notebook_id, plan_id)
304
270
  );
305
- CREATE TABLE IF NOT EXISTS notebook_transcript_edits (
306
- notebook_id TEXT NOT NULL
307
- REFERENCES notebooks(notebook_id) ON DELETE CASCADE,
308
- action_id TEXT NOT NULL,
309
- kind TEXT NOT NULL,
310
- restored INTEGER NOT NULL DEFAULT 0 CHECK (restored IN (0, 1)),
311
- payload_json TEXT NOT NULL,
312
- PRIMARY KEY(notebook_id, action_id)
313
- );
314
- CREATE TABLE IF NOT EXISTS notebook_transcript_attachments (
315
- notebook_id TEXT NOT NULL
316
- REFERENCES notebooks(notebook_id) ON DELETE CASCADE,
317
- attachment_id TEXT NOT NULL,
318
- payload_json TEXT NOT NULL,
319
- PRIMARY KEY(notebook_id, attachment_id)
320
- );
321
271
  CREATE TABLE IF NOT EXISTS edges (
322
272
  notebook_id TEXT NOT NULL
323
273
  REFERENCES notebooks(notebook_id) ON DELETE CASCADE,
@@ -633,6 +583,28 @@ export const SEMANTIC_SCHEMA_SQL = `
633
583
  body_json TEXT NOT NULL,
634
584
  created_at INTEGER NOT NULL
635
585
  );
586
+ CREATE TABLE IF NOT EXISTS generations (
587
+ generation_id TEXT PRIMARY KEY,
588
+ notebook_id TEXT NOT NULL,
589
+ cell_id TEXT NOT NULL,
590
+ output_cell_id TEXT,
591
+ run_id TEXT,
592
+ status TEXT NOT NULL CHECK (
593
+ status IN ('dispatched','awaiting_provider','completed','failed')
594
+ ),
595
+ tool TEXT NOT NULL,
596
+ provider TEXT,
597
+ model TEXT,
598
+ prompt TEXT,
599
+ resolved_prompt TEXT,
600
+ provider_artifact_id TEXT,
601
+ output_artifact_id TEXT,
602
+ error TEXT,
603
+ created_at INTEGER NOT NULL,
604
+ updated_at INTEGER NOT NULL,
605
+ FOREIGN KEY(notebook_id, cell_id)
606
+ REFERENCES cells(notebook_id, cell_id) ON DELETE CASCADE
607
+ );
636
608
 
637
609
  CREATE INDEX IF NOT EXISTS artifacts_created
638
610
  ON artifacts(created_at, artifact_id);
@@ -686,6 +658,8 @@ export const SEMANTIC_SCHEMA_SQL = `
686
658
  ON prompt_entries(surface, created_at, prompt_id);
687
659
  CREATE INDEX IF NOT EXISTS messages_created
688
660
  ON messages(created_at, message_id);
661
+ CREATE INDEX IF NOT EXISTS generations_cell
662
+ ON generations(notebook_id, cell_id, created_at);
689
663
  `;
690
664
  const RUNTIME_SIMILARITY_SCHEMA_SQL = `
691
665
  CREATE TABLE IF NOT EXISTS runtime_similarity_embeddings (
@@ -1 +1 @@
1
- {"version":3,"file":"schema.js","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import type { SearchProviderConsent, SearchProviderNetworkAccess } from "./engine-types.js";
2
+ interface NetworkProvider {
3
+ readonly networkAccess?: SearchProviderNetworkAccess;
4
+ }
5
+ export declare function guardSearchProvider<T extends NetworkProvider>(source: T, consent?: SearchProviderConsent, isActive?: () => boolean): {
6
+ provider: T;
7
+ validate: () => void;
8
+ matches: (candidate: T, grant: SearchProviderConsent) => boolean;
9
+ };
10
+ export {};
11
+ //# sourceMappingURL=search-provider-access.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"search-provider-access.d.ts","sourceRoot":"","sources":["../src/search-provider-access.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,2BAA2B,EAAE,MAAM,mBAAmB,CAAC;AAG5F,UAAU,eAAe;IACvB,QAAQ,CAAC,aAAa,CAAC,EAAE,2BAA2B,CAAC;CACtD;AAED,wBAAgB,mBAAmB,CAAC,CAAC,SAAS,eAAe,EAC3D,MAAM,EAAE,CAAC,EACT,OAAO,GAAE,qBAA0B,EACnC,QAAQ,GAAE,MAAM,OAAoB,GACnC;IAAE,QAAQ,EAAE,CAAC,CAAC;IAAC,QAAQ,EAAE,MAAM,IAAI,CAAC;IAAC,OAAO,EAAE,CAAC,SAAS,EAAE,CAAC,EAAE,KAAK,EAAE,qBAAqB,KAAK,OAAO,CAAA;CAAE,CAsCzG"}
@@ -0,0 +1,42 @@
1
+ import { EngineFault } from "./store.js";
2
+ export function guardSearchProvider(source, consent = {}, isActive = () => true) {
3
+ const downloads = source.networkAccess?.modelDownloads;
4
+ const inference = source.networkAccess?.inference;
5
+ const allowDownloads = consent.modelDownloads === true;
6
+ const allowInference = consent.inference === true;
7
+ const validate = () => {
8
+ if (typeof downloads !== "boolean" || typeof inference !== "boolean") {
9
+ throw new EngineFault({ code: "INVALID_INPUT", message: "Search provider must declare networkAccess.modelDownloads and networkAccess.inference as booleans" });
10
+ }
11
+ if (!isActive()) {
12
+ throw new EngineFault({ code: "OFFLINE", message: "Search provider registration has been revoked" });
13
+ }
14
+ if (source.networkAccess?.modelDownloads !== downloads || source.networkAccess?.inference !== inference) {
15
+ throw new EngineFault({ code: "INVALID_INPUT", message: "Search provider network declaration changed; register it again with application consent" });
16
+ }
17
+ if ((downloads && !allowDownloads) || (inference && !allowInference)) {
18
+ throw new EngineFault({ code: "OFFLINE", message: "Search provider network access requires application consent" });
19
+ }
20
+ };
21
+ const provider = Object.create(source);
22
+ for (const method of ["prepare", "embedText", "embedImage", "embedVideo", "embedAudio"]) {
23
+ const operation = Reflect.get(source, method);
24
+ if (typeof operation !== "function")
25
+ continue;
26
+ Object.defineProperty(provider, method, {
27
+ value: async (...args) => {
28
+ validate();
29
+ return Reflect.apply(operation, source, args);
30
+ },
31
+ });
32
+ }
33
+ return {
34
+ provider, validate,
35
+ matches: (candidate, grant) => candidate === source
36
+ && candidate.networkAccess?.modelDownloads === downloads
37
+ && candidate.networkAccess?.inference === inference
38
+ && (grant.modelDownloads === true) === allowDownloads
39
+ && (grant.inference === true) === allowInference,
40
+ };
41
+ }
42
+ //# sourceMappingURL=search-provider-access.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"search-provider-access.js","sourceRoot":"","sources":["../src/search-provider-access.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAMzC,MAAM,UAAU,mBAAmB,CACjC,MAAS,EACT,UAAiC,EAAE,EACnC,WAA0B,GAAG,EAAE,CAAC,IAAI;IAEpC,MAAM,SAAS,GAAG,MAAM,CAAC,aAAa,EAAE,cAAc,CAAC;IACvD,MAAM,SAAS,GAAG,MAAM,CAAC,aAAa,EAAE,SAAS,CAAC;IAClD,MAAM,cAAc,GAAG,OAAO,CAAC,cAAc,KAAK,IAAI,CAAC;IACvD,MAAM,cAAc,GAAG,OAAO,CAAC,SAAS,KAAK,IAAI,CAAC;IAClD,MAAM,QAAQ,GAAG,GAAG,EAAE;QACpB,IAAI,OAAO,SAAS,KAAK,SAAS,IAAI,OAAO,SAAS,KAAK,SAAS,EAAE,CAAC;YACrE,MAAM,IAAI,WAAW,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,mGAAmG,EAAE,CAAC,CAAC;QACjK,CAAC;QACD,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC;YAChB,MAAM,IAAI,WAAW,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,+CAA+C,EAAE,CAAC,CAAC;QACvG,CAAC;QACD,IAAI,MAAM,CAAC,aAAa,EAAE,cAAc,KAAK,SAAS,IAAI,MAAM,CAAC,aAAa,EAAE,SAAS,KAAK,SAAS,EAAE,CAAC;YACxG,MAAM,IAAI,WAAW,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,yFAAyF,EAAE,CAAC,CAAC;QACvJ,CAAC;QACD,IAAI,CAAC,SAAS,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC;YACrE,MAAM,IAAI,WAAW,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,6DAA6D,EAAE,CAAC,CAAC;QACrH,CAAC;IACH,CAAC,CAAC;IACF,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAM,CAAC;IAC5C,KAAK,MAAM,MAAM,IAAI,CAAC,SAAS,EAAE,WAAW,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,CAAU,EAAE,CAAC;QACjG,MAAM,SAAS,GAAY,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACvD,IAAI,OAAO,SAAS,KAAK,UAAU;YAAE,SAAS;QAC9C,MAAM,CAAC,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE;YACtC,KAAK,EAAE,KAAK,EAAE,GAAG,IAAe,EAAE,EAAE;gBAClC,QAAQ,EAAE,CAAC;gBACX,OAAO,OAAO,CAAC,KAAK,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,CAAY,CAAC;YAC3D,CAAC;SACF,CAAC,CAAC;IACL,CAAC;IACD,OAAO;QACL,QAAQ,EAAE,QAAQ;QAClB,OAAO,EAAE,CAAC,SAAS,EAAE,KAAK,EAAE,EAAE,CAAC,SAAS,KAAK,MAAM;eAC9C,SAAS,CAAC,aAAa,EAAE,cAAc,KAAK,SAAS;eACrD,SAAS,CAAC,aAAa,EAAE,SAAS,KAAK,SAAS;eAChD,CAAC,KAAK,CAAC,cAAc,KAAK,IAAI,CAAC,KAAK,cAAc;eAClD,CAAC,KAAK,CAAC,SAAS,KAAK,IAAI,CAAC,KAAK,cAAc;KACnD,CAAC;AACJ,CAAC"}
@@ -1,4 +1,63 @@
1
- import { type SimilarityApi } from "./engine-types.js";
1
+ import type { MediaOperationOptions } from "./engine-types.js";
2
+ import { type SimilarityApi, type SimilarityAudioConfig, type SimilarityAudioEmbeddingProvider, type SimilarityConfig, type SimilarityEmbeddingProvider, type SimilarityTextChunk, type SimilarityTextConfig, type SimilarityTextEmbeddingProvider } from "./engine-types.js";
2
3
  import { EngineContext } from "./context.js";
4
+ import type { ModelWorkerConfiguration } from "./model-worker-protocol.js";
3
5
  export declare function createSimilarityApi(context: EngineContext): SimilarityApi;
6
+ export declare function createInlineSimilarityProvider(configuration: ModelWorkerConfiguration): LocalClipProvider | LocalClapAudioProvider | LocalTextProvider;
7
+ declare class LocalClipProvider implements SimilarityEmbeddingProvider {
8
+ private readonly dataDir;
9
+ private readonly config;
10
+ get networkAccess(): {
11
+ modelDownloads: boolean;
12
+ inference: boolean;
13
+ };
14
+ get embeddingSpace(): string;
15
+ readonly dimensions = 512;
16
+ private embedder;
17
+ constructor(dataDir: string, config: SimilarityConfig);
18
+ prepare(options?: MediaOperationOptions): Promise<void>;
19
+ embedImage(sourcePath: string, options?: MediaOperationOptions): Promise<Float32Array>;
20
+ embedVideo(sourcePath: string, options?: MediaOperationOptions): Promise<{
21
+ vector: Float32Array;
22
+ frameCount: number;
23
+ }>;
24
+ private loadEmbedder;
25
+ private embedImages;
26
+ }
27
+ declare class LocalClapAudioProvider implements SimilarityAudioEmbeddingProvider {
28
+ private readonly dataDir;
29
+ private readonly sharedConfig;
30
+ private readonly config;
31
+ get networkAccess(): {
32
+ modelDownloads: boolean;
33
+ inference: boolean;
34
+ };
35
+ get embeddingSpace(): string;
36
+ readonly dimensions = 512;
37
+ private processor;
38
+ private model;
39
+ private sampleRate;
40
+ private maxSamples;
41
+ constructor(dataDir: string, sharedConfig: SimilarityConfig, config: SimilarityAudioConfig);
42
+ prepare(options?: MediaOperationOptions): Promise<void>;
43
+ embedAudio(sourcePath: string, options?: MediaOperationOptions): Promise<Float32Array>;
44
+ private loadModel;
45
+ }
46
+ declare class LocalTextProvider implements SimilarityTextEmbeddingProvider {
47
+ private readonly dataDir;
48
+ private readonly sharedConfig;
49
+ private readonly config;
50
+ get networkAccess(): {
51
+ modelDownloads: boolean;
52
+ inference: boolean;
53
+ };
54
+ get embeddingSpace(): string;
55
+ readonly dimensions = 384;
56
+ private embedder;
57
+ constructor(dataDir: string, sharedConfig: SimilarityConfig, config: SimilarityTextConfig);
58
+ prepare(options?: MediaOperationOptions): Promise<void>;
59
+ embedText(text: string, options?: MediaOperationOptions): Promise<SimilarityTextChunk[]>;
60
+ private loadEmbedder;
61
+ }
62
+ export {};
4
63
  //# sourceMappingURL=similarity.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"similarity.d.ts","sourceRoot":"","sources":["../src/similarity.ts"],"names":[],"mappings":"AAoBA,OAAO,EAKL,KAAK,aAAa,EAiBnB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,aAAa,EAKd,MAAM,cAAc,CAAC;AAyJtB,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,aAAa,GAAG,aAAa,CAGzE"}
1
+ {"version":3,"file":"similarity.d.ts","sourceRoot":"","sources":["../src/similarity.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAE/D,OAAO,EAKL,KAAK,aAAa,EAClB,KAAK,qBAAqB,EAC1B,KAAK,gCAAgC,EACrC,KAAK,gBAAgB,EACrB,KAAK,2BAA2B,EAShC,KAAK,mBAAmB,EACxB,KAAK,oBAAoB,EACzB,KAAK,+BAA+B,EAErC,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,aAAa,EAKd,MAAM,cAAc,CAAC;AAGtB,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AAgK3E,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,aAAa,GAAG,aAAa,CAGzE;AA6vCD,wBAAgB,8BAA8B,CAAC,aAAa,EAAE,wBAAwB,kEAOrF;AAED,cAAM,iBAAkB,YAAW,2BAA2B;IAO1D,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,MAAM;IAPzB,IAAI,aAAa;;;MAA4F;IAC7G,IAAI,cAAc,WAAuE;IACzF,QAAQ,CAAC,UAAU,OAAsB;IACzC,OAAO,CAAC,QAAQ,CAAgC;gBAG7B,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,gBAAgB;IAGrC,OAAO,CAAC,OAAO,GAAE,qBAA0B,GAAG,OAAO,CAAC,IAAI,CAAC;IAM3D,UAAU,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,GAAE,qBAA0B,GAAG,OAAO,CAAC,YAAY,CAAC;IAO1F,UAAU,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,GAAE,qBAA0B,GAAG,OAAO,CAAC;QACjF,MAAM,EAAE,YAAY,CAAC;QACrB,UAAU,EAAE,MAAM,CAAC;KACpB,CAAC;YA4CY,YAAY;YA2BZ,WAAW;CAkB1B;AAED,cAAM,sBAAuB,YAAW,gCAAgC;IAUpE,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,MAAM;IAXzB,IAAI,aAAa;;;MAAsI;IACvJ,IAAI,cAAc,WAAuE;IACzF,QAAQ,CAAC,UAAU,OAA4B;IAC/C,OAAO,CAAC,SAAS,CAA+B;IAChD,OAAO,CAAC,KAAK,CAA2B;IACxC,OAAO,CAAC,UAAU,CAA6B;IAC/C,OAAO,CAAC,UAAU,CAA6B;gBAG5B,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,gBAAgB,EAC9B,MAAM,EAAE,qBAAqB;IAG1C,OAAO,CAAC,OAAO,GAAE,qBAA0B,GAAG,OAAO,CAAC,IAAI,CAAC;IAM3D,UAAU,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,GAAE,qBAA0B,GAAG,OAAO,CAAC,YAAY,CAAC;YA2BlF,SAAS;CAoDxB;AAED,cAAM,iBAAkB,YAAW,+BAA+B;IAO9D,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,MAAM;IARzB,IAAI,aAAa;;;MAAsI;IACvJ,IAAI,cAAc,WAAuE;IACzF,QAAQ,CAAC,UAAU,OAA2B;IAC9C,OAAO,CAAC,QAAQ,CAAoC;gBAGjC,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,gBAAgB,EAC9B,MAAM,EAAE,oBAAoB;IAGzC,OAAO,CAAC,OAAO,GAAE,qBAA0B,GAAG,OAAO,CAAC,IAAI,CAAC;IAM3D,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,qBAA0B,GAAG,OAAO,CAAC,mBAAmB,EAAE,CAAC;YA6BpF,YAAY;CA2B3B"}