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.
- package/README.md +84 -39
- package/dist/artifacts.d.ts +5 -10
- package/dist/artifacts.d.ts.map +1 -1
- package/dist/artifacts.js +79 -142
- package/dist/artifacts.js.map +1 -1
- package/dist/books.d.ts +1 -1
- package/dist/books.d.ts.map +1 -1
- package/dist/books.js +16 -9
- package/dist/books.js.map +1 -1
- package/dist/cas.d.ts +2 -1
- package/dist/cas.d.ts.map +1 -1
- package/dist/cas.js +33 -4
- package/dist/cas.js.map +1 -1
- package/dist/catalog-gc-state.d.ts +4 -0
- package/dist/catalog-gc-state.d.ts.map +1 -0
- package/dist/catalog-gc-state.js +49 -0
- package/dist/catalog-gc-state.js.map +1 -0
- package/dist/catalog-metadata.d.ts +2 -2
- package/dist/catalog-metadata.js +3 -3
- package/dist/catalog-metadata.js.map +1 -1
- package/dist/context.d.ts +5 -5
- package/dist/context.d.ts.map +1 -1
- package/dist/context.js +17 -49
- package/dist/context.js.map +1 -1
- package/dist/domain.d.ts +35 -2
- package/dist/domain.d.ts.map +1 -1
- package/dist/domain.js +131 -161
- package/dist/domain.js.map +1 -1
- package/dist/edits.js +2 -2
- package/dist/edits.js.map +1 -1
- package/dist/engine-types.d.ts +159 -39
- package/dist/engine-types.d.ts.map +1 -1
- package/dist/engine-types.js +2 -1
- package/dist/engine-types.js.map +1 -1
- package/dist/engine.d.ts +30 -20
- package/dist/engine.d.ts.map +1 -1
- package/dist/engine.js +46 -4
- package/dist/engine.js.map +1 -1
- package/dist/files.d.ts +10 -0
- package/dist/files.d.ts.map +1 -1
- package/dist/files.js +49 -2
- package/dist/files.js.map +1 -1
- package/dist/fork.d.ts +14 -30
- package/dist/fork.d.ts.map +1 -1
- package/dist/fork.js +18 -27
- package/dist/fork.js.map +1 -1
- package/dist/generations.d.ts +9 -0
- package/dist/generations.d.ts.map +1 -0
- package/dist/generations.js +175 -0
- package/dist/generations.js.map +1 -0
- package/dist/history.d.ts +2 -1
- package/dist/history.d.ts.map +1 -1
- package/dist/history.js +30 -57
- package/dist/history.js.map +1 -1
- package/dist/index.d.ts +8 -6
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -5
- package/dist/index.js.map +1 -1
- package/dist/inline-temporal-models.d.ts +43 -0
- package/dist/inline-temporal-models.d.ts.map +1 -0
- package/dist/inline-temporal-models.js +236 -0
- package/dist/inline-temporal-models.js.map +1 -0
- package/dist/isolated-models.d.ts +8 -0
- package/dist/isolated-models.d.ts.map +1 -0
- package/dist/isolated-models.js +25 -0
- package/dist/isolated-models.js.map +1 -0
- package/dist/job-queue.d.ts +1 -1
- package/dist/job-queue.d.ts.map +1 -1
- package/dist/job-queue.js +20 -6
- package/dist/job-queue.js.map +1 -1
- package/dist/media-image.d.ts +8 -0
- package/dist/media-image.d.ts.map +1 -0
- package/dist/media-image.js +41 -0
- package/dist/media-image.js.map +1 -0
- package/dist/media-process.d.ts +13 -0
- package/dist/media-process.d.ts.map +1 -0
- package/dist/media-process.js +89 -0
- package/dist/media-process.js.map +1 -0
- package/dist/media.d.ts +3 -3
- package/dist/media.d.ts.map +1 -1
- package/dist/media.js +5 -5
- package/dist/media.js.map +1 -1
- package/dist/merge-policy.d.ts +16 -36
- package/dist/merge-policy.d.ts.map +1 -1
- package/dist/merge-policy.js +13 -125
- package/dist/merge-policy.js.map +1 -1
- package/dist/metadata.d.ts +1 -0
- package/dist/metadata.d.ts.map +1 -1
- package/dist/metadata.js +13 -3
- package/dist/metadata.js.map +1 -1
- package/dist/migrate-grid-text.d.ts +17 -0
- package/dist/migrate-grid-text.d.ts.map +1 -0
- package/dist/migrate-grid-text.js +117 -0
- package/dist/migrate-grid-text.js.map +1 -0
- package/dist/migrate-grid-v22.d.ts +12 -0
- package/dist/migrate-grid-v22.d.ts.map +1 -0
- package/dist/migrate-grid-v22.js +166 -0
- package/dist/migrate-grid-v22.js.map +1 -0
- package/dist/migrate-grid-v23.d.ts +10 -0
- package/dist/migrate-grid-v23.d.ts.map +1 -0
- package/dist/migrate-grid-v23.js +31 -0
- package/dist/migrate-grid-v23.js.map +1 -0
- package/dist/migration-notebooks.d.ts +25 -0
- package/dist/migration-notebooks.d.ts.map +1 -0
- package/dist/migration-notebooks.js +131 -0
- package/dist/migration-notebooks.js.map +1 -0
- package/dist/migration-source.d.ts +6 -0
- package/dist/migration-source.d.ts.map +1 -0
- package/dist/migration-source.js +37 -0
- package/dist/migration-source.js.map +1 -0
- package/dist/migration-timeline.d.ts +36 -0
- package/dist/migration-timeline.d.ts.map +1 -0
- package/dist/migration-timeline.js +187 -0
- package/dist/migration-timeline.js.map +1 -0
- package/dist/migration-validation.d.ts +12 -0
- package/dist/migration-validation.d.ts.map +1 -0
- package/dist/migration-validation.js +68 -0
- package/dist/migration-validation.js.map +1 -0
- package/dist/migration.d.ts.map +1 -1
- package/dist/migration.js +220 -119
- package/dist/migration.js.map +1 -1
- package/dist/model-cache-paths.d.ts +2 -0
- package/dist/model-cache-paths.d.ts.map +1 -0
- package/dist/model-cache-paths.js +5 -0
- package/dist/model-cache-paths.js.map +1 -0
- package/dist/model-checksums.json +338 -0
- package/dist/model-file-resolver.d.ts +30 -0
- package/dist/model-file-resolver.d.ts.map +1 -0
- package/dist/model-file-resolver.js +304 -0
- package/dist/model-file-resolver.js.map +1 -0
- package/dist/model-identity.d.ts +13 -0
- package/dist/model-identity.d.ts.map +1 -0
- package/dist/model-identity.js +44 -0
- package/dist/model-identity.js.map +1 -0
- package/dist/model-worker-errors.d.ts +3 -0
- package/dist/model-worker-errors.d.ts.map +1 -0
- package/dist/model-worker-errors.js +12 -0
- package/dist/model-worker-errors.js.map +1 -0
- package/dist/model-worker-pool.d.ts +32 -0
- package/dist/model-worker-pool.d.ts.map +1 -0
- package/dist/model-worker-pool.js +269 -0
- package/dist/model-worker-pool.js.map +1 -0
- package/dist/model-worker-protocol.d.ts +42 -0
- package/dist/model-worker-protocol.d.ts.map +1 -0
- package/dist/model-worker-protocol.js +2 -0
- package/dist/model-worker-protocol.js.map +1 -0
- package/dist/model-worker.d.ts +2 -0
- package/dist/model-worker.d.ts.map +1 -0
- package/dist/model-worker.js +91 -0
- package/dist/model-worker.js.map +1 -0
- package/dist/mvp-contract-fixtures.js +1 -1
- package/dist/mvp-contract-fixtures.js.map +1 -1
- package/dist/mvp-contracts.d.ts +32 -8
- package/dist/mvp-contracts.d.ts.map +1 -1
- package/dist/mvp-contracts.js +1 -1
- package/dist/mvp-contracts.js.map +1 -1
- package/dist/notebook/types.d.ts +1 -29
- package/dist/notebook/types.d.ts.map +1 -1
- package/dist/notebook-grid.d.ts +46 -0
- package/dist/notebook-grid.d.ts.map +1 -0
- package/dist/notebook-grid.js +187 -0
- package/dist/notebook-grid.js.map +1 -0
- package/dist/notebook-media-artifact.d.ts +23 -0
- package/dist/notebook-media-artifact.d.ts.map +1 -0
- package/dist/notebook-media-artifact.js +67 -0
- package/dist/notebook-media-artifact.js.map +1 -0
- package/dist/notebook-mentions.d.ts +20 -0
- package/dist/notebook-mentions.d.ts.map +1 -0
- package/dist/notebook-mentions.js +54 -0
- package/dist/notebook-mentions.js.map +1 -0
- package/dist/runtime-services.js +4 -9
- package/dist/runtime-services.js.map +1 -1
- package/dist/schema.d.ts +4 -19
- package/dist/schema.d.ts.map +1 -1
- package/dist/schema.js +66 -92
- package/dist/schema.js.map +1 -1
- package/dist/search-provider-access.d.ts +11 -0
- package/dist/search-provider-access.d.ts.map +1 -0
- package/dist/search-provider-access.js +42 -0
- package/dist/search-provider-access.js.map +1 -0
- package/dist/similarity.d.ts +60 -1
- package/dist/similarity.d.ts.map +1 -1
- package/dist/similarity.js +174 -154
- package/dist/similarity.js.map +1 -1
- package/dist/status.js +8 -10
- package/dist/status.js.map +1 -1
- package/dist/store.d.ts +16 -2
- package/dist/store.d.ts.map +1 -1
- package/dist/store.js +171 -17
- package/dist/store.js.map +1 -1
- package/dist/temporal-index-cache.d.ts +13 -0
- package/dist/temporal-index-cache.d.ts.map +1 -0
- package/dist/temporal-index-cache.js +59 -0
- package/dist/temporal-index-cache.js.map +1 -0
- package/dist/temporal-model-manifests.d.ts +17 -0
- package/dist/temporal-model-manifests.d.ts.map +1 -0
- package/dist/temporal-model-manifests.js +33 -0
- package/dist/temporal-model-manifests.js.map +1 -0
- package/dist/temporal-models.d.ts +20 -35
- package/dist/temporal-models.d.ts.map +1 -1
- package/dist/temporal-models.js +23 -257
- package/dist/temporal-models.js.map +1 -1
- package/dist/temporal-search.d.ts +6 -3
- package/dist/temporal-search.d.ts.map +1 -1
- package/dist/temporal-search.js +438 -122
- package/dist/temporal-search.js.map +1 -1
- package/dist/temporal-vector-index.d.ts +46 -0
- package/dist/temporal-vector-index.d.ts.map +1 -0
- package/dist/temporal-vector-index.js +220 -0
- package/dist/temporal-vector-index.js.map +1 -0
- package/dist/third-party/@huggingface-jinja.LICENSE +21 -0
- package/dist/third-party/@huggingface-tokenizers.LICENSE +201 -0
- package/dist/third-party/@huggingface-transformers.LICENSE +202 -0
- package/dist/third-party/onnxruntime-common.LICENSE +21 -0
- package/dist/third-party/versions.json +23 -0
- package/dist/transformers-runtime.d.ts +2 -0
- package/dist/transformers-runtime.d.ts.map +1 -0
- package/dist/transformers-runtime.js +33014 -0
- package/dist/transformers-runtime.js.LEGAL.txt +12 -0
- package/dist/transformers-runtime.js.map +7 -0
- package/docs/doltlite-staging.md +69 -0
- package/docs/edit-performance.md +83 -0
- package/docs/engine-layout.md +56 -50
- package/docs/media-limits.md +57 -0
- package/docs/model-download-policy.md +15 -0
- package/docs/model-integrity.md +72 -0
- package/docs/model-isolation.md +72 -0
- package/docs/model-revisions.md +54 -0
- package/docs/mvp-prd.md +2 -2
- package/docs/release-evidence.md +300 -0
- package/docs/search-provider-consent.md +67 -0
- package/docs/semantic-durability.md +55 -0
- package/docs/temporal-search-performance.md +260 -0
- package/docs/v4-migration.md +83 -0
- package/fixtures/v5/contract-fixtures.json +4 -4
- package/package.json +31 -13
- package/dist/artifact-names.d.ts +0 -6
- package/dist/artifact-names.d.ts.map +0 -1
- package/dist/artifact-names.js +0 -56
- package/dist/artifact-names.js.map +0 -1
- package/dist/resolver.d.ts +0 -15
- package/dist/resolver.d.ts.map +0 -1
- package/dist/resolver.js +0 -81
- 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
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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','
|
|
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
|
-
|
|
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 (
|
package/dist/schema.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAGvD,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,OAAO;IACP,OAAO;IACP,OAAO;IACP,eAAe;IACf,aAAa;IACb,QAAQ;IACR,WAAW;IACX,SAAS;IACT,UAAU;IACV,gBAAgB;IAChB,gBAAgB;IAChB,gBAAgB;IAChB,QAAQ;IACR,QAAQ;CACA,CAAC;AAIX,
|
|
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"}
|
package/dist/similarity.d.ts
CHANGED
|
@@ -1,4 +1,63 @@
|
|
|
1
|
-
import {
|
|
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
|
package/dist/similarity.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"similarity.d.ts","sourceRoot":"","sources":["../src/similarity.ts"],"names":[],"mappings":"
|
|
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"}
|