videobook-engine 2.0.1
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 +214 -0
- package/dist/artifacts.d.ts +20 -0
- package/dist/artifacts.d.ts.map +1 -0
- package/dist/artifacts.js +312 -0
- package/dist/artifacts.js.map +1 -0
- package/dist/books.d.ts +7 -0
- package/dist/books.d.ts.map +1 -0
- package/dist/books.js +27 -0
- package/dist/books.js.map +1 -0
- package/dist/cas.d.ts +26 -0
- package/dist/cas.d.ts.map +1 -0
- package/dist/cas.js +139 -0
- package/dist/cas.js.map +1 -0
- package/dist/communications.d.ts +15 -0
- package/dist/communications.d.ts.map +1 -0
- package/dist/communications.js +139 -0
- package/dist/communications.js.map +1 -0
- package/dist/context.d.ts +42 -0
- package/dist/context.d.ts.map +1 -0
- package/dist/context.js +197 -0
- package/dist/context.js.map +1 -0
- package/dist/domain.d.ts +32 -0
- package/dist/domain.d.ts.map +1 -0
- package/dist/domain.js +399 -0
- package/dist/domain.js.map +1 -0
- package/dist/engine-types.d.ts +548 -0
- package/dist/engine-types.d.ts.map +1 -0
- package/dist/engine-types.js +10 -0
- package/dist/engine-types.js.map +1 -0
- package/dist/engine.d.ts +213 -0
- package/dist/engine.d.ts.map +1 -0
- package/dist/engine.js +130 -0
- package/dist/engine.js.map +1 -0
- package/dist/files.d.ts +28 -0
- package/dist/files.d.ts.map +1 -0
- package/dist/files.js +476 -0
- package/dist/files.js.map +1 -0
- package/dist/history-types.d.ts +74 -0
- package/dist/history-types.d.ts.map +1 -0
- package/dist/history-types.js +2 -0
- package/dist/history-types.js.map +1 -0
- package/dist/history.d.ts +20 -0
- package/dist/history.d.ts.map +1 -0
- package/dist/history.js +921 -0
- package/dist/history.js.map +1 -0
- package/dist/ids.d.ts +4 -0
- package/dist/ids.d.ts.map +1 -0
- package/dist/ids.js +14 -0
- package/dist/ids.js.map +1 -0
- package/dist/index.d.ts +16 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +12 -0
- package/dist/index.js.map +1 -0
- package/dist/job-queue.d.ts +51 -0
- package/dist/job-queue.d.ts.map +1 -0
- package/dist/job-queue.js +443 -0
- package/dist/job-queue.js.map +1 -0
- package/dist/media.d.ts +7 -0
- package/dist/media.d.ts.map +1 -0
- package/dist/media.js +60 -0
- package/dist/media.js.map +1 -0
- package/dist/metadata.d.ts +21 -0
- package/dist/metadata.d.ts.map +1 -0
- package/dist/metadata.js +222 -0
- package/dist/metadata.js.map +1 -0
- package/dist/notebook/types.d.ts +51 -0
- package/dist/notebook/types.d.ts.map +1 -0
- package/dist/notebook/types.js +2 -0
- package/dist/notebook/types.js.map +1 -0
- package/dist/resolver.d.ts +15 -0
- package/dist/resolver.d.ts.map +1 -0
- package/dist/resolver.js +81 -0
- package/dist/resolver.js.map +1 -0
- package/dist/runtime-services.d.ts +65 -0
- package/dist/runtime-services.d.ts.map +1 -0
- package/dist/runtime-services.js +584 -0
- package/dist/runtime-services.js.map +1 -0
- package/dist/schema.d.ts +7 -0
- package/dist/schema.d.ts.map +1 -0
- package/dist/schema.js +509 -0
- package/dist/schema.js.map +1 -0
- package/dist/similarity.d.ts +4 -0
- package/dist/similarity.d.ts.map +1 -0
- package/dist/similarity.js +1551 -0
- package/dist/similarity.js.map +1 -0
- package/dist/status.d.ts +9 -0
- package/dist/status.d.ts.map +1 -0
- package/dist/status.js +231 -0
- package/dist/status.js.map +1 -0
- package/dist/storage.d.ts +7 -0
- package/dist/storage.d.ts.map +1 -0
- package/dist/storage.js +129 -0
- package/dist/storage.js.map +1 -0
- package/dist/store.d.ts +55 -0
- package/dist/store.d.ts.map +1 -0
- package/dist/store.js +378 -0
- package/dist/store.js.map +1 -0
- package/dist/timeline.d.ts +9 -0
- package/dist/timeline.d.ts.map +1 -0
- package/dist/timeline.js +236 -0
- package/dist/timeline.js.map +1 -0
- package/docs/engine-layout.md +489 -0
- package/package.json +55 -0
package/dist/schema.d.ts
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export declare const SCHEMA_VERSION = 4;
|
|
2
|
+
export declare const SEMANTIC_TABLES: readonly ["engine_schema", "book", "artifacts", "objects", "artifact_files", "book_metadata", "artifact_metadata", "entities", "notebooks", "cells", "edges", "runs", "timeline", "timeline_slots", "timeline_audio", "audio_waveforms", "prompt_entries", "messages", "operations", "actions", "action_events", "action_parents", "action_artifacts", "action_write_set", "job_runs"];
|
|
3
|
+
export type SemanticTable = (typeof SEMANTIC_TABLES)[number];
|
|
4
|
+
export declare const RUNTIME_TABLES: readonly ["runtime_meta", "runtime_jobs", "runtime_resource_leases", "runtime_object_publications", "runtime_workspace_entries", "runtime_artifact_views", "runtime_pending_tasks", "runtime_generation_errors", "runtime_settings", "runtime_logs", "runtime_commit_outbox", "runtime_similarity_embeddings", "runtime_text_similarity_documents", "runtime_text_similarity_chunks"];
|
|
5
|
+
export declare const SEMANTIC_SCHEMA_SQL = "\n CREATE TABLE IF NOT EXISTS engine_schema (\n singleton INTEGER PRIMARY KEY CHECK (singleton = 1),\n version INTEGER NOT NULL,\n created_at INTEGER NOT NULL\n );\n\n CREATE TABLE IF NOT EXISTS book (\n book_id TEXT PRIMARY KEY,\n slug TEXT NOT NULL UNIQUE,\n created_at INTEGER NOT NULL\n );\n\n CREATE TABLE IF NOT EXISTS artifacts (\n artifact_id TEXT PRIMARY KEY,\n slug TEXT NOT NULL UNIQUE,\n kind TEXT NOT NULL CHECK (\n kind IN (\n 'video','image','audio','script','character',\n 'prompt','scene','final'\n )\n ),\n created_at INTEGER NOT NULL\n );\n CREATE TABLE IF NOT EXISTS objects (\n object_hash TEXT PRIMARY KEY,\n size_bytes INTEGER NOT NULL CHECK (size_bytes >= 0),\n created_at INTEGER NOT NULL\n );\n\n CREATE TABLE IF NOT EXISTS artifact_files (\n artifact_id TEXT NOT NULL\n REFERENCES artifacts(artifact_id) ON DELETE CASCADE,\n path TEXT NOT NULL,\n object_hash TEXT NOT NULL\n REFERENCES objects(object_hash) ON DELETE RESTRICT,\n mtime_ms INTEGER NOT NULL,\n created_at INTEGER NOT NULL,\n PRIMARY KEY(artifact_id, path)\n );\n CREATE TABLE IF NOT EXISTS book_metadata (\n key TEXT PRIMARY KEY,\n value_json TEXT NOT NULL\n );\n\n CREATE TABLE IF NOT EXISTS artifact_metadata (\n artifact_id TEXT NOT NULL\n REFERENCES artifacts(artifact_id) ON DELETE CASCADE,\n key TEXT NOT NULL,\n value_json TEXT NOT NULL,\n PRIMARY KEY(artifact_id, key)\n );\n\n CREATE TABLE IF NOT EXISTS entities (\n entity_id TEXT PRIMARY KEY,\n type TEXT NOT NULL CHECK (type IN ('prompt','character','scene')),\n name TEXT NOT NULL,\n description TEXT,\n prompt TEXT,\n data_json TEXT NOT NULL DEFAULT '{}',\n created_at INTEGER NOT NULL\n );\n CREATE TABLE IF NOT EXISTS notebooks (\n notebook_id TEXT PRIMARY KEY,\n name TEXT NOT NULL,\n properties_json TEXT NOT NULL DEFAULT '{}',\n created_at INTEGER NOT NULL\n );\n CREATE TABLE IF NOT EXISTS cells (\n notebook_id TEXT NOT NULL\n REFERENCES notebooks(notebook_id) ON DELETE CASCADE,\n cell_id TEXT NOT NULL,\n type TEXT NOT NULL CHECK (\n type IN ('prompt','character','scene','asset','image','video')\n ),\n title TEXT NOT NULL,\n position_x REAL NOT NULL,\n position_y REAL NOT NULL,\n entity_id TEXT\n REFERENCES entities(entity_id) ON DELETE RESTRICT,\n prompt TEXT,\n model TEXT,\n inputs_json TEXT NOT NULL DEFAULT '{}',\n output_artifact_id TEXT\n REFERENCES artifacts(artifact_id) ON DELETE RESTRICT,\n PRIMARY KEY(notebook_id, cell_id)\n );\n CREATE TABLE IF NOT EXISTS edges (\n notebook_id TEXT NOT NULL\n REFERENCES notebooks(notebook_id) ON DELETE CASCADE,\n edge_id TEXT NOT NULL,\n source_cell_id TEXT NOT NULL,\n target_cell_id TEXT NOT NULL,\n target_input TEXT NOT NULL,\n PRIMARY KEY(notebook_id, edge_id),\n FOREIGN KEY(notebook_id, source_cell_id)\n REFERENCES cells(notebook_id, cell_id) ON DELETE CASCADE,\n FOREIGN KEY(notebook_id, target_cell_id)\n REFERENCES cells(notebook_id, cell_id) ON DELETE CASCADE\n );\n CREATE TABLE IF NOT EXISTS runs (\n run_id TEXT PRIMARY KEY,\n notebook_id TEXT NOT NULL\n REFERENCES notebooks(notebook_id) ON DELETE CASCADE,\n status TEXT NOT NULL CHECK (status IN ('completed','failed','aborted')),\n started_at INTEGER NOT NULL,\n completed_at INTEGER NOT NULL,\n cell_order_json TEXT NOT NULL,\n outputs_json TEXT NOT NULL,\n error TEXT\n );\n CREATE TABLE IF NOT EXISTS timeline (\n book_id TEXT PRIMARY KEY\n REFERENCES book(book_id) ON DELETE CASCADE,\n render TEXT NOT NULL DEFAULT 'landscape'\n CHECK (render IN ('landscape','portrait','square'))\n );\n\n CREATE TABLE IF NOT EXISTS timeline_slots (\n slot_id TEXT PRIMARY KEY,\n artifact_id TEXT NOT NULL\n REFERENCES artifacts(artifact_id) ON DELETE RESTRICT,\n ordinal INTEGER NOT NULL CHECK (ordinal >= 0),\n volume REAL CHECK (volume IS NULL OR volume >= 0),\n audio_fade_in REAL CHECK (audio_fade_in IS NULL OR audio_fade_in >= 0),\n audio_fade_out REAL CHECK (audio_fade_out IS NULL OR audio_fade_out >= 0)\n );\n CREATE TABLE IF NOT EXISTS timeline_audio (\n audio_id TEXT PRIMARY KEY,\n artifact_id TEXT NOT NULL\n REFERENCES artifacts(artifact_id) ON DELETE RESTRICT,\n ordinal INTEGER NOT NULL CHECK (ordinal >= 0),\n start_frame INTEGER NOT NULL CHECK (start_frame >= 0),\n duration_frames INTEGER NOT NULL CHECK (duration_frames > 0),\n volume REAL CHECK (volume IS NULL OR volume >= 0),\n fade_in REAL CHECK (fade_in IS NULL OR fade_in >= 0),\n fade_out REAL CHECK (fade_out IS NULL OR fade_out >= 0)\n );\n CREATE TABLE IF NOT EXISTS audio_waveforms (\n artifact_id TEXT PRIMARY KEY\n REFERENCES artifacts(artifact_id) ON DELETE CASCADE,\n peaks_json TEXT NOT NULL\n );\n\n CREATE TABLE IF NOT EXISTS prompt_entries (\n prompt_id TEXT PRIMARY KEY,\n surface TEXT NOT NULL,\n prompt TEXT NOT NULL,\n context_json TEXT NOT NULL DEFAULT '{}',\n created_at INTEGER NOT NULL\n );\n CREATE TABLE IF NOT EXISTS messages (\n message_id TEXT PRIMARY KEY,\n role TEXT NOT NULL,\n body_json TEXT NOT NULL,\n created_at INTEGER NOT NULL\n );\n CREATE TABLE IF NOT EXISTS operations (\n operation_id TEXT PRIMARY KEY,\n operation TEXT NOT NULL,\n artifact_id TEXT,\n details_json TEXT NOT NULL DEFAULT '{}',\n write_set_json TEXT NOT NULL DEFAULT '[]',\n base_revision TEXT,\n created_at INTEGER NOT NULL,\n author TEXT NOT NULL\n );\n CREATE TABLE IF NOT EXISTS actions (\n action_id TEXT PRIMARY KEY,\n operation TEXT NOT NULL,\n scope TEXT NOT NULL CHECK (\n scope IN ('book','artifact','layout','external','system')\n ),\n actor TEXT NOT NULL,\n lane TEXT NOT NULL,\n phase TEXT NOT NULL CHECK (\n phase IN (\n 'requested','started','completed','failed','cancelled','conflicted'\n )\n ),\n base_revision TEXT,\n target_artifact_id TEXT,\n target_action_id TEXT,\n layout_json TEXT,\n details_json TEXT NOT NULL DEFAULT '{}',\n created_at INTEGER NOT NULL\n );\n\n CREATE TABLE IF NOT EXISTS action_events (\n event_id TEXT PRIMARY KEY,\n action_id TEXT NOT NULL\n REFERENCES actions(action_id) ON DELETE CASCADE,\n operation_id TEXT NOT NULL,\n phase TEXT NOT NULL CHECK (\n phase IN (\n 'requested','started','completed','failed','cancelled','conflicted'\n )\n ),\n details_json TEXT NOT NULL DEFAULT '{}',\n created_at INTEGER NOT NULL\n );\n CREATE TABLE IF NOT EXISTS action_parents (\n action_id TEXT NOT NULL\n REFERENCES actions(action_id) ON DELETE CASCADE,\n parent_action_id TEXT NOT NULL\n REFERENCES actions(action_id) ON DELETE RESTRICT,\n PRIMARY KEY(action_id, parent_action_id)\n );\n\n CREATE TABLE IF NOT EXISTS action_artifacts (\n action_id TEXT NOT NULL\n REFERENCES actions(action_id) ON DELETE CASCADE,\n artifact_id TEXT NOT NULL,\n direction TEXT NOT NULL CHECK (direction IN ('input','output')),\n PRIMARY KEY(action_id, artifact_id, direction)\n );\n\n CREATE TABLE IF NOT EXISTS action_write_set (\n action_id TEXT NOT NULL\n REFERENCES actions(action_id) ON DELETE CASCADE,\n resource TEXT NOT NULL,\n PRIMARY KEY(action_id, resource)\n );\n\n CREATE TABLE IF NOT EXISTS job_runs (\n run_id TEXT PRIMARY KEY,\n artifact_id TEXT,\n job_type TEXT NOT NULL,\n state TEXT NOT NULL CHECK (state IN ('done','failed','aborted')),\n payload_json TEXT NOT NULL,\n result_json TEXT,\n error_json TEXT,\n started_at INTEGER,\n finished_at INTEGER NOT NULL\n );\n\n CREATE INDEX IF NOT EXISTS artifacts_created\n ON artifacts(created_at, artifact_id);\n CREATE INDEX IF NOT EXISTS artifact_files_object\n ON artifact_files(object_hash);\n CREATE INDEX IF NOT EXISTS entities_type_created\n ON entities(type, created_at, entity_id);\n CREATE INDEX IF NOT EXISTS notebooks_created\n ON notebooks(created_at, notebook_id);\n CREATE INDEX IF NOT EXISTS cells_entity\n ON cells(entity_id);\n CREATE INDEX IF NOT EXISTS cells_output_artifact\n ON cells(output_artifact_id);\n CREATE INDEX IF NOT EXISTS edges_source\n ON edges(notebook_id, source_cell_id);\n CREATE INDEX IF NOT EXISTS edges_target\n ON edges(notebook_id, target_cell_id);\n CREATE INDEX IF NOT EXISTS runs_notebook_completed\n ON runs(notebook_id, completed_at, run_id);\n CREATE INDEX IF NOT EXISTS timeline_slots_order\n ON timeline_slots(ordinal, slot_id);\n CREATE INDEX IF NOT EXISTS timeline_slots_artifact\n ON timeline_slots(artifact_id);\n CREATE INDEX IF NOT EXISTS timeline_audio_order\n ON timeline_audio(ordinal, audio_id);\n CREATE INDEX IF NOT EXISTS timeline_audio_artifact\n ON timeline_audio(artifact_id);\n CREATE INDEX IF NOT EXISTS prompt_entries_lookup\n ON prompt_entries(surface, created_at, prompt_id);\n CREATE INDEX IF NOT EXISTS messages_created\n ON messages(created_at, message_id);\n CREATE INDEX IF NOT EXISTS operations_created\n ON operations(created_at, operation_id);\n CREATE INDEX IF NOT EXISTS operations_artifact_created\n ON operations(artifact_id, created_at, operation_id);\n CREATE INDEX IF NOT EXISTS action_events_action_created\n ON action_events(action_id, created_at, event_id);\n";
|
|
6
|
+
export declare const RUNTIME_SCHEMA_SQL = "\n CREATE TABLE IF NOT EXISTS runtime_meta (\n key TEXT PRIMARY KEY,\n value_json TEXT NOT NULL,\n updated_at INTEGER NOT NULL\n );\n\n CREATE TABLE IF NOT EXISTS runtime_jobs (\n id INTEGER PRIMARY KEY AUTOINCREMENT,\n operation_id TEXT NOT NULL,\n type TEXT NOT NULL,\n artifact_id TEXT,\n external_task_id TEXT,\n state TEXT NOT NULL CHECK (\n state IN ('queued','running','completing','done','failed','aborted')\n ),\n payload_json TEXT NOT NULL,\n result_json TEXT,\n dedupe_key TEXT,\n enqueued_at INTEGER NOT NULL,\n started_at INTEGER,\n finished_at INTEGER,\n pid INTEGER,\n lease_expires_at INTEGER,\n attempts INTEGER NOT NULL DEFAULT 0,\n max_attempts INTEGER NOT NULL DEFAULT 1,\n error_json TEXT,\n fence INTEGER NOT NULL DEFAULT 0\n );\n CREATE INDEX IF NOT EXISTS runtime_jobs_state\n ON runtime_jobs(state, enqueued_at);\n CREATE INDEX IF NOT EXISTS runtime_jobs_lease\n ON runtime_jobs(state, lease_expires_at);\n CREATE UNIQUE INDEX IF NOT EXISTS runtime_jobs_dedupe\n ON runtime_jobs(dedupe_key)\n WHERE dedupe_key IS NOT NULL\n AND state IN ('queued','running','completing');\n CREATE UNIQUE INDEX IF NOT EXISTS runtime_jobs_external\n ON runtime_jobs(type, external_task_id)\n WHERE external_task_id IS NOT NULL;\n\n CREATE TABLE IF NOT EXISTS runtime_resource_leases (\n lease_id TEXT PRIMARY KEY,\n artifact_id TEXT,\n resource_key TEXT NOT NULL,\n owner_id TEXT NOT NULL,\n owner_kind TEXT NOT NULL,\n pid INTEGER,\n state TEXT,\n data_json TEXT NOT NULL DEFAULT '{}',\n fence INTEGER NOT NULL,\n acquired_at INTEGER NOT NULL,\n expires_at INTEGER NOT NULL,\n revoked_at INTEGER\n );\n CREATE UNIQUE INDEX IF NOT EXISTS runtime_resource_active\n ON runtime_resource_leases(resource_key)\n WHERE revoked_at IS NULL;\n CREATE INDEX IF NOT EXISTS runtime_resource_artifact\n ON runtime_resource_leases(artifact_id, revoked_at);\n\n CREATE TABLE IF NOT EXISTS runtime_object_publications (\n object_hash TEXT PRIMARY KEY,\n published_at INTEGER NOT NULL\n );\n\n CREATE TABLE IF NOT EXISTS runtime_workspace_entries (\n artifact_id TEXT PRIMARY KEY,\n path TEXT NOT NULL UNIQUE,\n hydrated_at INTEGER,\n invalidated_at INTEGER,\n last_accessed_at INTEGER NOT NULL\n );\n\n CREATE TABLE IF NOT EXISTS runtime_artifact_views (\n artifact_id TEXT PRIMARY KEY,\n status TEXT NOT NULL CHECK (status IN ('pending','working','ready','error')),\n meta_json TEXT NOT NULL DEFAULT '{}',\n owner_id TEXT,\n owner_kind TEXT,\n pid INTEGER,\n deadline_at INTEGER,\n updated_at INTEGER NOT NULL,\n seen_at INTEGER,\n fence INTEGER NOT NULL DEFAULT 0\n );\n\n CREATE TABLE IF NOT EXISTS runtime_pending_tasks (\n artifact_id TEXT PRIMARY KEY,\n task_id TEXT NOT NULL,\n task_type TEXT NOT NULL,\n created_at INTEGER NOT NULL,\n meta_json TEXT NOT NULL DEFAULT '{}',\n completing INTEGER NOT NULL DEFAULT 0,\n owner_id TEXT\n );\n CREATE UNIQUE INDEX IF NOT EXISTS runtime_pending_external\n ON runtime_pending_tasks(task_id);\n\n CREATE TABLE IF NOT EXISTS runtime_generation_errors (\n artifact_id TEXT PRIMARY KEY,\n message TEXT NOT NULL,\n fail_code TEXT,\n prompt TEXT,\n failed_at INTEGER NOT NULL\n );\n\n CREATE TABLE IF NOT EXISTS runtime_settings (\n key TEXT PRIMARY KEY,\n value_json TEXT NOT NULL,\n updated_at INTEGER NOT NULL\n );\n\n CREATE TABLE IF NOT EXISTS runtime_logs (\n id INTEGER PRIMARY KEY AUTOINCREMENT,\n name TEXT NOT NULL,\n body_json TEXT NOT NULL,\n created_at INTEGER NOT NULL\n );\n CREATE INDEX IF NOT EXISTS runtime_logs_lookup\n ON runtime_logs(name, created_at);\n\n CREATE TABLE IF NOT EXISTS runtime_commit_outbox (\n operation_id TEXT PRIMARY KEY,\n tables_json TEXT NOT NULL,\n message TEXT NOT NULL,\n created_at INTEGER NOT NULL\n );\n\n \n CREATE TABLE IF NOT EXISTS runtime_similarity_embeddings (\n id INTEGER PRIMARY KEY AUTOINCREMENT,\n artifact_id TEXT NOT NULL,\n kind TEXT NOT NULL CHECK (kind IN ('image', 'video', 'audio')),\n source_path TEXT NOT NULL,\n object_hash TEXT NOT NULL,\n embedding_space TEXT NOT NULL,\n dimensions INTEGER NOT NULL,\n vector_blob BLOB NOT NULL,\n frame_count INTEGER,\n updated_at INTEGER NOT NULL,\n UNIQUE(artifact_id, embedding_space)\n );\n CREATE INDEX IF NOT EXISTS runtime_similarity_kind\n ON runtime_similarity_embeddings(kind, embedding_space, updated_at);\n CREATE INDEX IF NOT EXISTS runtime_similarity_object\n ON runtime_similarity_embeddings(object_hash, embedding_space);\n\n\n CREATE TABLE IF NOT EXISTS runtime_text_similarity_documents (\n id INTEGER PRIMARY KEY AUTOINCREMENT,\n artifact_id TEXT NOT NULL,\n source_path TEXT NOT NULL,\n object_hash TEXT NOT NULL,\n content_hash TEXT NOT NULL,\n embedding_space TEXT NOT NULL,\n dimensions INTEGER NOT NULL,\n chunk_count INTEGER NOT NULL,\n updated_at INTEGER NOT NULL,\n UNIQUE(artifact_id, embedding_space)\n );\n CREATE INDEX IF NOT EXISTS runtime_text_similarity_lookup\n ON runtime_text_similarity_documents(embedding_space, updated_at);\n CREATE INDEX IF NOT EXISTS runtime_text_similarity_object\n ON runtime_text_similarity_documents(object_hash, embedding_space);\n CREATE INDEX IF NOT EXISTS runtime_text_similarity_content\n ON runtime_text_similarity_documents(content_hash, embedding_space);\n\n CREATE TABLE IF NOT EXISTS runtime_text_similarity_chunks (\n id INTEGER PRIMARY KEY AUTOINCREMENT,\n document_id INTEGER NOT NULL\n REFERENCES runtime_text_similarity_documents(id) ON DELETE CASCADE,\n artifact_id TEXT NOT NULL,\n embedding_space TEXT NOT NULL,\n chunk_index INTEGER NOT NULL,\n start_offset INTEGER NOT NULL,\n end_offset INTEGER NOT NULL,\n chunk_text TEXT NOT NULL,\n dimensions INTEGER NOT NULL,\n vector_blob BLOB NOT NULL,\n updated_at INTEGER NOT NULL,\n UNIQUE(document_id, chunk_index)\n );\n CREATE INDEX IF NOT EXISTS runtime_text_similarity_chunk_lookup\n ON runtime_text_similarity_chunks(\n embedding_space, document_id, chunk_index\n );\n CREATE INDEX IF NOT EXISTS runtime_text_similarity_chunk_document\n ON runtime_text_similarity_chunks(document_id, chunk_index);\n";
|
|
7
|
+
//# sourceMappingURL=schema.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,cAAc,IAAI,CAAC;AAEhC,eAAO,MAAM,eAAe,wXA0BlB,CAAC;AAEX,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,eAAe,CAAC,CAAC,MAAM,CAAC,CAAC;AAE7D,eAAO,MAAM,cAAc,uXAejB,CAAC;AAEX,eAAO,MAAM,mBAAmB,kySAgR/B,CAAC;AAsBF,eAAO,MAAM,kBAAkB,qxMA2K9B,CAAC"}
|
package/dist/schema.js
ADDED
|
@@ -0,0 +1,509 @@
|
|
|
1
|
+
export const SCHEMA_VERSION = 4;
|
|
2
|
+
export const SEMANTIC_TABLES = [
|
|
3
|
+
"engine_schema",
|
|
4
|
+
"book",
|
|
5
|
+
"artifacts",
|
|
6
|
+
"objects",
|
|
7
|
+
"artifact_files",
|
|
8
|
+
"book_metadata",
|
|
9
|
+
"artifact_metadata",
|
|
10
|
+
"entities",
|
|
11
|
+
"notebooks",
|
|
12
|
+
"cells",
|
|
13
|
+
"edges",
|
|
14
|
+
"runs",
|
|
15
|
+
"timeline",
|
|
16
|
+
"timeline_slots",
|
|
17
|
+
"timeline_audio",
|
|
18
|
+
"audio_waveforms",
|
|
19
|
+
"prompt_entries",
|
|
20
|
+
"messages",
|
|
21
|
+
"operations",
|
|
22
|
+
"actions",
|
|
23
|
+
"action_events",
|
|
24
|
+
"action_parents",
|
|
25
|
+
"action_artifacts",
|
|
26
|
+
"action_write_set",
|
|
27
|
+
"job_runs",
|
|
28
|
+
];
|
|
29
|
+
export const RUNTIME_TABLES = [
|
|
30
|
+
"runtime_meta",
|
|
31
|
+
"runtime_jobs",
|
|
32
|
+
"runtime_resource_leases",
|
|
33
|
+
"runtime_object_publications",
|
|
34
|
+
"runtime_workspace_entries",
|
|
35
|
+
"runtime_artifact_views",
|
|
36
|
+
"runtime_pending_tasks",
|
|
37
|
+
"runtime_generation_errors",
|
|
38
|
+
"runtime_settings",
|
|
39
|
+
"runtime_logs",
|
|
40
|
+
"runtime_commit_outbox",
|
|
41
|
+
"runtime_similarity_embeddings",
|
|
42
|
+
"runtime_text_similarity_documents",
|
|
43
|
+
"runtime_text_similarity_chunks",
|
|
44
|
+
];
|
|
45
|
+
export const SEMANTIC_SCHEMA_SQL = `
|
|
46
|
+
CREATE TABLE IF NOT EXISTS engine_schema (
|
|
47
|
+
singleton INTEGER PRIMARY KEY CHECK (singleton = 1),
|
|
48
|
+
version INTEGER NOT NULL,
|
|
49
|
+
created_at INTEGER NOT NULL
|
|
50
|
+
);
|
|
51
|
+
|
|
52
|
+
CREATE TABLE IF NOT EXISTS book (
|
|
53
|
+
book_id TEXT PRIMARY KEY,
|
|
54
|
+
slug TEXT NOT NULL UNIQUE,
|
|
55
|
+
created_at INTEGER NOT NULL
|
|
56
|
+
);
|
|
57
|
+
|
|
58
|
+
CREATE TABLE IF NOT EXISTS artifacts (
|
|
59
|
+
artifact_id TEXT PRIMARY KEY,
|
|
60
|
+
slug TEXT NOT NULL UNIQUE,
|
|
61
|
+
kind TEXT NOT NULL CHECK (
|
|
62
|
+
kind IN (
|
|
63
|
+
'video','image','audio','script','character',
|
|
64
|
+
'prompt','scene','final'
|
|
65
|
+
)
|
|
66
|
+
),
|
|
67
|
+
created_at INTEGER NOT NULL
|
|
68
|
+
);
|
|
69
|
+
CREATE TABLE IF NOT EXISTS objects (
|
|
70
|
+
object_hash TEXT PRIMARY KEY,
|
|
71
|
+
size_bytes INTEGER NOT NULL CHECK (size_bytes >= 0),
|
|
72
|
+
created_at INTEGER NOT NULL
|
|
73
|
+
);
|
|
74
|
+
|
|
75
|
+
CREATE TABLE IF NOT EXISTS artifact_files (
|
|
76
|
+
artifact_id TEXT NOT NULL
|
|
77
|
+
REFERENCES artifacts(artifact_id) ON DELETE CASCADE,
|
|
78
|
+
path TEXT NOT NULL,
|
|
79
|
+
object_hash TEXT NOT NULL
|
|
80
|
+
REFERENCES objects(object_hash) ON DELETE RESTRICT,
|
|
81
|
+
mtime_ms INTEGER NOT NULL,
|
|
82
|
+
created_at INTEGER NOT NULL,
|
|
83
|
+
PRIMARY KEY(artifact_id, path)
|
|
84
|
+
);
|
|
85
|
+
CREATE TABLE IF NOT EXISTS book_metadata (
|
|
86
|
+
key TEXT PRIMARY KEY,
|
|
87
|
+
value_json TEXT NOT NULL
|
|
88
|
+
);
|
|
89
|
+
|
|
90
|
+
CREATE TABLE IF NOT EXISTS artifact_metadata (
|
|
91
|
+
artifact_id TEXT NOT NULL
|
|
92
|
+
REFERENCES artifacts(artifact_id) ON DELETE CASCADE,
|
|
93
|
+
key TEXT NOT NULL,
|
|
94
|
+
value_json TEXT NOT NULL,
|
|
95
|
+
PRIMARY KEY(artifact_id, key)
|
|
96
|
+
);
|
|
97
|
+
|
|
98
|
+
CREATE TABLE IF NOT EXISTS entities (
|
|
99
|
+
entity_id TEXT PRIMARY KEY,
|
|
100
|
+
type TEXT NOT NULL CHECK (type IN ('prompt','character','scene')),
|
|
101
|
+
name TEXT NOT NULL,
|
|
102
|
+
description TEXT,
|
|
103
|
+
prompt TEXT,
|
|
104
|
+
data_json TEXT NOT NULL DEFAULT '{}',
|
|
105
|
+
created_at INTEGER NOT NULL
|
|
106
|
+
);
|
|
107
|
+
CREATE TABLE IF NOT EXISTS notebooks (
|
|
108
|
+
notebook_id TEXT PRIMARY KEY,
|
|
109
|
+
name TEXT NOT NULL,
|
|
110
|
+
properties_json TEXT NOT NULL DEFAULT '{}',
|
|
111
|
+
created_at INTEGER NOT NULL
|
|
112
|
+
);
|
|
113
|
+
CREATE TABLE IF NOT EXISTS cells (
|
|
114
|
+
notebook_id TEXT NOT NULL
|
|
115
|
+
REFERENCES notebooks(notebook_id) ON DELETE CASCADE,
|
|
116
|
+
cell_id TEXT NOT NULL,
|
|
117
|
+
type TEXT NOT NULL CHECK (
|
|
118
|
+
type IN ('prompt','character','scene','asset','image','video')
|
|
119
|
+
),
|
|
120
|
+
title TEXT NOT NULL,
|
|
121
|
+
position_x REAL NOT NULL,
|
|
122
|
+
position_y REAL NOT NULL,
|
|
123
|
+
entity_id TEXT
|
|
124
|
+
REFERENCES entities(entity_id) ON DELETE RESTRICT,
|
|
125
|
+
prompt TEXT,
|
|
126
|
+
model TEXT,
|
|
127
|
+
inputs_json TEXT NOT NULL DEFAULT '{}',
|
|
128
|
+
output_artifact_id TEXT
|
|
129
|
+
REFERENCES artifacts(artifact_id) ON DELETE RESTRICT,
|
|
130
|
+
PRIMARY KEY(notebook_id, cell_id)
|
|
131
|
+
);
|
|
132
|
+
CREATE TABLE IF NOT EXISTS edges (
|
|
133
|
+
notebook_id TEXT NOT NULL
|
|
134
|
+
REFERENCES notebooks(notebook_id) ON DELETE CASCADE,
|
|
135
|
+
edge_id TEXT NOT NULL,
|
|
136
|
+
source_cell_id TEXT NOT NULL,
|
|
137
|
+
target_cell_id TEXT NOT NULL,
|
|
138
|
+
target_input TEXT NOT NULL,
|
|
139
|
+
PRIMARY KEY(notebook_id, edge_id),
|
|
140
|
+
FOREIGN KEY(notebook_id, source_cell_id)
|
|
141
|
+
REFERENCES cells(notebook_id, cell_id) ON DELETE CASCADE,
|
|
142
|
+
FOREIGN KEY(notebook_id, target_cell_id)
|
|
143
|
+
REFERENCES cells(notebook_id, cell_id) ON DELETE CASCADE
|
|
144
|
+
);
|
|
145
|
+
CREATE TABLE IF NOT EXISTS runs (
|
|
146
|
+
run_id TEXT PRIMARY KEY,
|
|
147
|
+
notebook_id TEXT NOT NULL
|
|
148
|
+
REFERENCES notebooks(notebook_id) ON DELETE CASCADE,
|
|
149
|
+
status TEXT NOT NULL CHECK (status IN ('completed','failed','aborted')),
|
|
150
|
+
started_at INTEGER NOT NULL,
|
|
151
|
+
completed_at INTEGER NOT NULL,
|
|
152
|
+
cell_order_json TEXT NOT NULL,
|
|
153
|
+
outputs_json TEXT NOT NULL,
|
|
154
|
+
error TEXT
|
|
155
|
+
);
|
|
156
|
+
CREATE TABLE IF NOT EXISTS timeline (
|
|
157
|
+
book_id TEXT PRIMARY KEY
|
|
158
|
+
REFERENCES book(book_id) ON DELETE CASCADE,
|
|
159
|
+
render TEXT NOT NULL DEFAULT 'landscape'
|
|
160
|
+
CHECK (render IN ('landscape','portrait','square'))
|
|
161
|
+
);
|
|
162
|
+
|
|
163
|
+
CREATE TABLE IF NOT EXISTS timeline_slots (
|
|
164
|
+
slot_id TEXT PRIMARY KEY,
|
|
165
|
+
artifact_id TEXT NOT NULL
|
|
166
|
+
REFERENCES artifacts(artifact_id) ON DELETE RESTRICT,
|
|
167
|
+
ordinal INTEGER NOT NULL CHECK (ordinal >= 0),
|
|
168
|
+
volume REAL CHECK (volume IS NULL OR volume >= 0),
|
|
169
|
+
audio_fade_in REAL CHECK (audio_fade_in IS NULL OR audio_fade_in >= 0),
|
|
170
|
+
audio_fade_out REAL CHECK (audio_fade_out IS NULL OR audio_fade_out >= 0)
|
|
171
|
+
);
|
|
172
|
+
CREATE TABLE IF NOT EXISTS timeline_audio (
|
|
173
|
+
audio_id TEXT PRIMARY KEY,
|
|
174
|
+
artifact_id TEXT NOT NULL
|
|
175
|
+
REFERENCES artifacts(artifact_id) ON DELETE RESTRICT,
|
|
176
|
+
ordinal INTEGER NOT NULL CHECK (ordinal >= 0),
|
|
177
|
+
start_frame INTEGER NOT NULL CHECK (start_frame >= 0),
|
|
178
|
+
duration_frames INTEGER NOT NULL CHECK (duration_frames > 0),
|
|
179
|
+
volume REAL CHECK (volume IS NULL OR volume >= 0),
|
|
180
|
+
fade_in REAL CHECK (fade_in IS NULL OR fade_in >= 0),
|
|
181
|
+
fade_out REAL CHECK (fade_out IS NULL OR fade_out >= 0)
|
|
182
|
+
);
|
|
183
|
+
CREATE TABLE IF NOT EXISTS audio_waveforms (
|
|
184
|
+
artifact_id TEXT PRIMARY KEY
|
|
185
|
+
REFERENCES artifacts(artifact_id) ON DELETE CASCADE,
|
|
186
|
+
peaks_json TEXT NOT NULL
|
|
187
|
+
);
|
|
188
|
+
|
|
189
|
+
CREATE TABLE IF NOT EXISTS prompt_entries (
|
|
190
|
+
prompt_id TEXT PRIMARY KEY,
|
|
191
|
+
surface TEXT NOT NULL,
|
|
192
|
+
prompt TEXT NOT NULL,
|
|
193
|
+
context_json TEXT NOT NULL DEFAULT '{}',
|
|
194
|
+
created_at INTEGER NOT NULL
|
|
195
|
+
);
|
|
196
|
+
CREATE TABLE IF NOT EXISTS messages (
|
|
197
|
+
message_id TEXT PRIMARY KEY,
|
|
198
|
+
role TEXT NOT NULL,
|
|
199
|
+
body_json TEXT NOT NULL,
|
|
200
|
+
created_at INTEGER NOT NULL
|
|
201
|
+
);
|
|
202
|
+
CREATE TABLE IF NOT EXISTS operations (
|
|
203
|
+
operation_id TEXT PRIMARY KEY,
|
|
204
|
+
operation TEXT NOT NULL,
|
|
205
|
+
artifact_id TEXT,
|
|
206
|
+
details_json TEXT NOT NULL DEFAULT '{}',
|
|
207
|
+
write_set_json TEXT NOT NULL DEFAULT '[]',
|
|
208
|
+
base_revision TEXT,
|
|
209
|
+
created_at INTEGER NOT NULL,
|
|
210
|
+
author TEXT NOT NULL
|
|
211
|
+
);
|
|
212
|
+
CREATE TABLE IF NOT EXISTS actions (
|
|
213
|
+
action_id TEXT PRIMARY KEY,
|
|
214
|
+
operation TEXT NOT NULL,
|
|
215
|
+
scope TEXT NOT NULL CHECK (
|
|
216
|
+
scope IN ('book','artifact','layout','external','system')
|
|
217
|
+
),
|
|
218
|
+
actor TEXT NOT NULL,
|
|
219
|
+
lane TEXT NOT NULL,
|
|
220
|
+
phase TEXT NOT NULL CHECK (
|
|
221
|
+
phase IN (
|
|
222
|
+
'requested','started','completed','failed','cancelled','conflicted'
|
|
223
|
+
)
|
|
224
|
+
),
|
|
225
|
+
base_revision TEXT,
|
|
226
|
+
target_artifact_id TEXT,
|
|
227
|
+
target_action_id TEXT,
|
|
228
|
+
layout_json TEXT,
|
|
229
|
+
details_json TEXT NOT NULL DEFAULT '{}',
|
|
230
|
+
created_at INTEGER NOT NULL
|
|
231
|
+
);
|
|
232
|
+
|
|
233
|
+
CREATE TABLE IF NOT EXISTS action_events (
|
|
234
|
+
event_id TEXT PRIMARY KEY,
|
|
235
|
+
action_id TEXT NOT NULL
|
|
236
|
+
REFERENCES actions(action_id) ON DELETE CASCADE,
|
|
237
|
+
operation_id TEXT NOT NULL,
|
|
238
|
+
phase TEXT NOT NULL CHECK (
|
|
239
|
+
phase IN (
|
|
240
|
+
'requested','started','completed','failed','cancelled','conflicted'
|
|
241
|
+
)
|
|
242
|
+
),
|
|
243
|
+
details_json TEXT NOT NULL DEFAULT '{}',
|
|
244
|
+
created_at INTEGER NOT NULL
|
|
245
|
+
);
|
|
246
|
+
CREATE TABLE IF NOT EXISTS action_parents (
|
|
247
|
+
action_id TEXT NOT NULL
|
|
248
|
+
REFERENCES actions(action_id) ON DELETE CASCADE,
|
|
249
|
+
parent_action_id TEXT NOT NULL
|
|
250
|
+
REFERENCES actions(action_id) ON DELETE RESTRICT,
|
|
251
|
+
PRIMARY KEY(action_id, parent_action_id)
|
|
252
|
+
);
|
|
253
|
+
|
|
254
|
+
CREATE TABLE IF NOT EXISTS action_artifacts (
|
|
255
|
+
action_id TEXT NOT NULL
|
|
256
|
+
REFERENCES actions(action_id) ON DELETE CASCADE,
|
|
257
|
+
artifact_id TEXT NOT NULL,
|
|
258
|
+
direction TEXT NOT NULL CHECK (direction IN ('input','output')),
|
|
259
|
+
PRIMARY KEY(action_id, artifact_id, direction)
|
|
260
|
+
);
|
|
261
|
+
|
|
262
|
+
CREATE TABLE IF NOT EXISTS action_write_set (
|
|
263
|
+
action_id TEXT NOT NULL
|
|
264
|
+
REFERENCES actions(action_id) ON DELETE CASCADE,
|
|
265
|
+
resource TEXT NOT NULL,
|
|
266
|
+
PRIMARY KEY(action_id, resource)
|
|
267
|
+
);
|
|
268
|
+
|
|
269
|
+
CREATE TABLE IF NOT EXISTS job_runs (
|
|
270
|
+
run_id TEXT PRIMARY KEY,
|
|
271
|
+
artifact_id TEXT,
|
|
272
|
+
job_type TEXT NOT NULL,
|
|
273
|
+
state TEXT NOT NULL CHECK (state IN ('done','failed','aborted')),
|
|
274
|
+
payload_json TEXT NOT NULL,
|
|
275
|
+
result_json TEXT,
|
|
276
|
+
error_json TEXT,
|
|
277
|
+
started_at INTEGER,
|
|
278
|
+
finished_at INTEGER NOT NULL
|
|
279
|
+
);
|
|
280
|
+
|
|
281
|
+
CREATE INDEX IF NOT EXISTS artifacts_created
|
|
282
|
+
ON artifacts(created_at, artifact_id);
|
|
283
|
+
CREATE INDEX IF NOT EXISTS artifact_files_object
|
|
284
|
+
ON artifact_files(object_hash);
|
|
285
|
+
CREATE INDEX IF NOT EXISTS entities_type_created
|
|
286
|
+
ON entities(type, created_at, entity_id);
|
|
287
|
+
CREATE INDEX IF NOT EXISTS notebooks_created
|
|
288
|
+
ON notebooks(created_at, notebook_id);
|
|
289
|
+
CREATE INDEX IF NOT EXISTS cells_entity
|
|
290
|
+
ON cells(entity_id);
|
|
291
|
+
CREATE INDEX IF NOT EXISTS cells_output_artifact
|
|
292
|
+
ON cells(output_artifact_id);
|
|
293
|
+
CREATE INDEX IF NOT EXISTS edges_source
|
|
294
|
+
ON edges(notebook_id, source_cell_id);
|
|
295
|
+
CREATE INDEX IF NOT EXISTS edges_target
|
|
296
|
+
ON edges(notebook_id, target_cell_id);
|
|
297
|
+
CREATE INDEX IF NOT EXISTS runs_notebook_completed
|
|
298
|
+
ON runs(notebook_id, completed_at, run_id);
|
|
299
|
+
CREATE INDEX IF NOT EXISTS timeline_slots_order
|
|
300
|
+
ON timeline_slots(ordinal, slot_id);
|
|
301
|
+
CREATE INDEX IF NOT EXISTS timeline_slots_artifact
|
|
302
|
+
ON timeline_slots(artifact_id);
|
|
303
|
+
CREATE INDEX IF NOT EXISTS timeline_audio_order
|
|
304
|
+
ON timeline_audio(ordinal, audio_id);
|
|
305
|
+
CREATE INDEX IF NOT EXISTS timeline_audio_artifact
|
|
306
|
+
ON timeline_audio(artifact_id);
|
|
307
|
+
CREATE INDEX IF NOT EXISTS prompt_entries_lookup
|
|
308
|
+
ON prompt_entries(surface, created_at, prompt_id);
|
|
309
|
+
CREATE INDEX IF NOT EXISTS messages_created
|
|
310
|
+
ON messages(created_at, message_id);
|
|
311
|
+
CREATE INDEX IF NOT EXISTS operations_created
|
|
312
|
+
ON operations(created_at, operation_id);
|
|
313
|
+
CREATE INDEX IF NOT EXISTS operations_artifact_created
|
|
314
|
+
ON operations(artifact_id, created_at, operation_id);
|
|
315
|
+
CREATE INDEX IF NOT EXISTS action_events_action_created
|
|
316
|
+
ON action_events(action_id, created_at, event_id);
|
|
317
|
+
`;
|
|
318
|
+
const RUNTIME_SIMILARITY_SCHEMA_SQL = `
|
|
319
|
+
CREATE TABLE IF NOT EXISTS runtime_similarity_embeddings (
|
|
320
|
+
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
321
|
+
artifact_id TEXT NOT NULL,
|
|
322
|
+
kind TEXT NOT NULL CHECK (kind IN ('image', 'video', 'audio')),
|
|
323
|
+
source_path TEXT NOT NULL,
|
|
324
|
+
object_hash TEXT NOT NULL,
|
|
325
|
+
embedding_space TEXT NOT NULL,
|
|
326
|
+
dimensions INTEGER NOT NULL,
|
|
327
|
+
vector_blob BLOB NOT NULL,
|
|
328
|
+
frame_count INTEGER,
|
|
329
|
+
updated_at INTEGER NOT NULL,
|
|
330
|
+
UNIQUE(artifact_id, embedding_space)
|
|
331
|
+
);
|
|
332
|
+
CREATE INDEX IF NOT EXISTS runtime_similarity_kind
|
|
333
|
+
ON runtime_similarity_embeddings(kind, embedding_space, updated_at);
|
|
334
|
+
CREATE INDEX IF NOT EXISTS runtime_similarity_object
|
|
335
|
+
ON runtime_similarity_embeddings(object_hash, embedding_space);
|
|
336
|
+
`;
|
|
337
|
+
export const RUNTIME_SCHEMA_SQL = `
|
|
338
|
+
CREATE TABLE IF NOT EXISTS runtime_meta (
|
|
339
|
+
key TEXT PRIMARY KEY,
|
|
340
|
+
value_json TEXT NOT NULL,
|
|
341
|
+
updated_at INTEGER NOT NULL
|
|
342
|
+
);
|
|
343
|
+
|
|
344
|
+
CREATE TABLE IF NOT EXISTS runtime_jobs (
|
|
345
|
+
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
346
|
+
operation_id TEXT NOT NULL,
|
|
347
|
+
type TEXT NOT NULL,
|
|
348
|
+
artifact_id TEXT,
|
|
349
|
+
external_task_id TEXT,
|
|
350
|
+
state TEXT NOT NULL CHECK (
|
|
351
|
+
state IN ('queued','running','completing','done','failed','aborted')
|
|
352
|
+
),
|
|
353
|
+
payload_json TEXT NOT NULL,
|
|
354
|
+
result_json TEXT,
|
|
355
|
+
dedupe_key TEXT,
|
|
356
|
+
enqueued_at INTEGER NOT NULL,
|
|
357
|
+
started_at INTEGER,
|
|
358
|
+
finished_at INTEGER,
|
|
359
|
+
pid INTEGER,
|
|
360
|
+
lease_expires_at INTEGER,
|
|
361
|
+
attempts INTEGER NOT NULL DEFAULT 0,
|
|
362
|
+
max_attempts INTEGER NOT NULL DEFAULT 1,
|
|
363
|
+
error_json TEXT,
|
|
364
|
+
fence INTEGER NOT NULL DEFAULT 0
|
|
365
|
+
);
|
|
366
|
+
CREATE INDEX IF NOT EXISTS runtime_jobs_state
|
|
367
|
+
ON runtime_jobs(state, enqueued_at);
|
|
368
|
+
CREATE INDEX IF NOT EXISTS runtime_jobs_lease
|
|
369
|
+
ON runtime_jobs(state, lease_expires_at);
|
|
370
|
+
CREATE UNIQUE INDEX IF NOT EXISTS runtime_jobs_dedupe
|
|
371
|
+
ON runtime_jobs(dedupe_key)
|
|
372
|
+
WHERE dedupe_key IS NOT NULL
|
|
373
|
+
AND state IN ('queued','running','completing');
|
|
374
|
+
CREATE UNIQUE INDEX IF NOT EXISTS runtime_jobs_external
|
|
375
|
+
ON runtime_jobs(type, external_task_id)
|
|
376
|
+
WHERE external_task_id IS NOT NULL;
|
|
377
|
+
|
|
378
|
+
CREATE TABLE IF NOT EXISTS runtime_resource_leases (
|
|
379
|
+
lease_id TEXT PRIMARY KEY,
|
|
380
|
+
artifact_id TEXT,
|
|
381
|
+
resource_key TEXT NOT NULL,
|
|
382
|
+
owner_id TEXT NOT NULL,
|
|
383
|
+
owner_kind TEXT NOT NULL,
|
|
384
|
+
pid INTEGER,
|
|
385
|
+
state TEXT,
|
|
386
|
+
data_json TEXT NOT NULL DEFAULT '{}',
|
|
387
|
+
fence INTEGER NOT NULL,
|
|
388
|
+
acquired_at INTEGER NOT NULL,
|
|
389
|
+
expires_at INTEGER NOT NULL,
|
|
390
|
+
revoked_at INTEGER
|
|
391
|
+
);
|
|
392
|
+
CREATE UNIQUE INDEX IF NOT EXISTS runtime_resource_active
|
|
393
|
+
ON runtime_resource_leases(resource_key)
|
|
394
|
+
WHERE revoked_at IS NULL;
|
|
395
|
+
CREATE INDEX IF NOT EXISTS runtime_resource_artifact
|
|
396
|
+
ON runtime_resource_leases(artifact_id, revoked_at);
|
|
397
|
+
|
|
398
|
+
CREATE TABLE IF NOT EXISTS runtime_object_publications (
|
|
399
|
+
object_hash TEXT PRIMARY KEY,
|
|
400
|
+
published_at INTEGER NOT NULL
|
|
401
|
+
);
|
|
402
|
+
|
|
403
|
+
CREATE TABLE IF NOT EXISTS runtime_workspace_entries (
|
|
404
|
+
artifact_id TEXT PRIMARY KEY,
|
|
405
|
+
path TEXT NOT NULL UNIQUE,
|
|
406
|
+
hydrated_at INTEGER,
|
|
407
|
+
invalidated_at INTEGER,
|
|
408
|
+
last_accessed_at INTEGER NOT NULL
|
|
409
|
+
);
|
|
410
|
+
|
|
411
|
+
CREATE TABLE IF NOT EXISTS runtime_artifact_views (
|
|
412
|
+
artifact_id TEXT PRIMARY KEY,
|
|
413
|
+
status TEXT NOT NULL CHECK (status IN ('pending','working','ready','error')),
|
|
414
|
+
meta_json TEXT NOT NULL DEFAULT '{}',
|
|
415
|
+
owner_id TEXT,
|
|
416
|
+
owner_kind TEXT,
|
|
417
|
+
pid INTEGER,
|
|
418
|
+
deadline_at INTEGER,
|
|
419
|
+
updated_at INTEGER NOT NULL,
|
|
420
|
+
seen_at INTEGER,
|
|
421
|
+
fence INTEGER NOT NULL DEFAULT 0
|
|
422
|
+
);
|
|
423
|
+
|
|
424
|
+
CREATE TABLE IF NOT EXISTS runtime_pending_tasks (
|
|
425
|
+
artifact_id TEXT PRIMARY KEY,
|
|
426
|
+
task_id TEXT NOT NULL,
|
|
427
|
+
task_type TEXT NOT NULL,
|
|
428
|
+
created_at INTEGER NOT NULL,
|
|
429
|
+
meta_json TEXT NOT NULL DEFAULT '{}',
|
|
430
|
+
completing INTEGER NOT NULL DEFAULT 0,
|
|
431
|
+
owner_id TEXT
|
|
432
|
+
);
|
|
433
|
+
CREATE UNIQUE INDEX IF NOT EXISTS runtime_pending_external
|
|
434
|
+
ON runtime_pending_tasks(task_id);
|
|
435
|
+
|
|
436
|
+
CREATE TABLE IF NOT EXISTS runtime_generation_errors (
|
|
437
|
+
artifact_id TEXT PRIMARY KEY,
|
|
438
|
+
message TEXT NOT NULL,
|
|
439
|
+
fail_code TEXT,
|
|
440
|
+
prompt TEXT,
|
|
441
|
+
failed_at INTEGER NOT NULL
|
|
442
|
+
);
|
|
443
|
+
|
|
444
|
+
CREATE TABLE IF NOT EXISTS runtime_settings (
|
|
445
|
+
key TEXT PRIMARY KEY,
|
|
446
|
+
value_json TEXT NOT NULL,
|
|
447
|
+
updated_at INTEGER NOT NULL
|
|
448
|
+
);
|
|
449
|
+
|
|
450
|
+
CREATE TABLE IF NOT EXISTS runtime_logs (
|
|
451
|
+
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
452
|
+
name TEXT NOT NULL,
|
|
453
|
+
body_json TEXT NOT NULL,
|
|
454
|
+
created_at INTEGER NOT NULL
|
|
455
|
+
);
|
|
456
|
+
CREATE INDEX IF NOT EXISTS runtime_logs_lookup
|
|
457
|
+
ON runtime_logs(name, created_at);
|
|
458
|
+
|
|
459
|
+
CREATE TABLE IF NOT EXISTS runtime_commit_outbox (
|
|
460
|
+
operation_id TEXT PRIMARY KEY,
|
|
461
|
+
tables_json TEXT NOT NULL,
|
|
462
|
+
message TEXT NOT NULL,
|
|
463
|
+
created_at INTEGER NOT NULL
|
|
464
|
+
);
|
|
465
|
+
|
|
466
|
+
${RUNTIME_SIMILARITY_SCHEMA_SQL}
|
|
467
|
+
|
|
468
|
+
CREATE TABLE IF NOT EXISTS runtime_text_similarity_documents (
|
|
469
|
+
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
470
|
+
artifact_id TEXT NOT NULL,
|
|
471
|
+
source_path TEXT NOT NULL,
|
|
472
|
+
object_hash TEXT NOT NULL,
|
|
473
|
+
content_hash TEXT NOT NULL,
|
|
474
|
+
embedding_space TEXT NOT NULL,
|
|
475
|
+
dimensions INTEGER NOT NULL,
|
|
476
|
+
chunk_count INTEGER NOT NULL,
|
|
477
|
+
updated_at INTEGER NOT NULL,
|
|
478
|
+
UNIQUE(artifact_id, embedding_space)
|
|
479
|
+
);
|
|
480
|
+
CREATE INDEX IF NOT EXISTS runtime_text_similarity_lookup
|
|
481
|
+
ON runtime_text_similarity_documents(embedding_space, updated_at);
|
|
482
|
+
CREATE INDEX IF NOT EXISTS runtime_text_similarity_object
|
|
483
|
+
ON runtime_text_similarity_documents(object_hash, embedding_space);
|
|
484
|
+
CREATE INDEX IF NOT EXISTS runtime_text_similarity_content
|
|
485
|
+
ON runtime_text_similarity_documents(content_hash, embedding_space);
|
|
486
|
+
|
|
487
|
+
CREATE TABLE IF NOT EXISTS runtime_text_similarity_chunks (
|
|
488
|
+
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
489
|
+
document_id INTEGER NOT NULL
|
|
490
|
+
REFERENCES runtime_text_similarity_documents(id) ON DELETE CASCADE,
|
|
491
|
+
artifact_id TEXT NOT NULL,
|
|
492
|
+
embedding_space TEXT NOT NULL,
|
|
493
|
+
chunk_index INTEGER NOT NULL,
|
|
494
|
+
start_offset INTEGER NOT NULL,
|
|
495
|
+
end_offset INTEGER NOT NULL,
|
|
496
|
+
chunk_text TEXT NOT NULL,
|
|
497
|
+
dimensions INTEGER NOT NULL,
|
|
498
|
+
vector_blob BLOB NOT NULL,
|
|
499
|
+
updated_at INTEGER NOT NULL,
|
|
500
|
+
UNIQUE(document_id, chunk_index)
|
|
501
|
+
);
|
|
502
|
+
CREATE INDEX IF NOT EXISTS runtime_text_similarity_chunk_lookup
|
|
503
|
+
ON runtime_text_similarity_chunks(
|
|
504
|
+
embedding_space, document_id, chunk_index
|
|
505
|
+
);
|
|
506
|
+
CREATE INDEX IF NOT EXISTS runtime_text_similarity_chunk_document
|
|
507
|
+
ON runtime_text_similarity_chunks(document_id, chunk_index);
|
|
508
|
+
`;
|
|
509
|
+
//# sourceMappingURL=schema.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC;AAEhC,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,eAAe;IACf,MAAM;IACN,WAAW;IACX,SAAS;IACT,gBAAgB;IAChB,eAAe;IACf,mBAAmB;IACnB,UAAU;IACV,WAAW;IACX,OAAO;IACP,OAAO;IACP,MAAM;IACN,UAAU;IACV,gBAAgB;IAChB,gBAAgB;IAChB,iBAAiB;IACjB,gBAAgB;IAChB,UAAU;IACV,YAAY;IACZ,SAAS;IACT,eAAe;IACf,gBAAgB;IAChB,kBAAkB;IAClB,kBAAkB;IAClB,UAAU;CACF,CAAC;AAIX,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,cAAc;IACd,cAAc;IACd,yBAAyB;IACzB,6BAA6B;IAC7B,2BAA2B;IAC3B,wBAAwB;IACxB,uBAAuB;IACvB,2BAA2B;IAC3B,kBAAkB;IAClB,cAAc;IACd,uBAAuB;IACvB,+BAA+B;IAC/B,mCAAmC;IACnC,gCAAgC;CACxB,CAAC;AAEX,MAAM,CAAC,MAAM,mBAAmB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgRlC,CAAC;AAEF,MAAM,6BAA6B,GAAG;;;;;;;;;;;;;;;;;;CAkBrC,CAAC;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAiI9B,6BAA6B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0ChC,CAAC"}
|
|
@@ -0,0 +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"}
|