videobook-engine 5.7.1 → 5.8.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/dist/engine.d.ts CHANGED
@@ -204,6 +204,7 @@ export declare class Engine {
204
204
  read: (id: string) => import("./usage.js").UsageEntry | null;
205
205
  find: (provider: string, externalId: string) => import("./usage.js").UsageEntry | null;
206
206
  summary: () => import("./usage.js").UsageSummary;
207
+ rollup: (filter?: import("./usage.js").UsageRollupFilter) => import("./usage.js").UsageRollup;
207
208
  recent: (limit?: number) => import("./usage.js").UsageEntry[];
208
209
  };
209
210
  readonly history: {
@@ -1 +1 @@
1
- {"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../src/engine.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EACf,wBAAwB,EACxB,YAAY,EAGZ,aAAa,EACd,MAAM,mBAAmB,CAAC;AAuB3B,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAU1C,qBAAa,MAAM;IACjB,QAAQ,CAAC,IAAI;;;MAAC;IACd,QAAQ,CAAC,SAAS;;;gBAVW,CAAA;;;;;;;;MAUV;IACnB,QAAQ,CAAC,KAAK;;;;;;;;;;;2BAiBd,CAAA;;;;;;MAjBe;IACf,QAAQ,CAAC,UAAU;;;;MAAC;IACpB,QAAQ,CAAC,QAAQ;;;;;;;;;;;;;;;;;;MAAC;IAClB,QAAQ,CAAC,IAAI;;;;;;;;;;;;;;;;;iBAgDS,CAAC;;;MAhDT;IACd,QAAQ,CAAC,OAAO;;;;;MAAC;IACjB,QAAQ,CAAC,WAAW;;;;;;;;;;MAAC;IACrB,QAAQ,CAAC,SAAS;;;;;;;;;;;;;;;MAAC;IACnB,QAAQ,CAAC,KAAK;;;;;MAAC;IACf,QAAQ,CAAC,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;MAAC;IACxB,QAAQ,CAAC,QAAQ;;;;;;;;MAAC;IAClB,QAAQ,CAAC,SAAS;;;;;;;;;;;;iBAwIqB,CAAC;;;iBAMpC,CAAF;;;;;;;;;;MA9IiB;IACnB,QAAQ,CAAC,OAAO;;;;MAAC;IACjB,QAAQ,CAAC,QAAQ;;;iBAXC,CAAC;gBACT,CAAC;;MAUO;IAClB,QAAQ,CAAC,WAAW;;;;;MAAC;IACrB,QAAQ,CAAC,KAAK;;;;;;MAAC;IACf,QAAQ,CAAC,OAAO;;;;;;;;;;iBAmBG,CAAC;kBAClB,CAAJ;;MApBmB;IACjB,QAAQ,CAAC,MAAM;;;MAAC;IAChB,QAAQ,CAAC,OAAO;;;;;MAAC;IACjB,QAAQ,CAAC,IAAI;;;iBA6Da,CAAC;;MA7Db;IACd,QAAQ,CAAC,QAAQ;;;;MAAC;IAClB,QAAQ,CAAC,IAAI;;;;;;;;;oBAiKU,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAjKT;IACd,QAAQ,CAAC,UAAU,EAAE,aAAa,CAAC;IACnC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IAE9B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAgB;IACxC,OAAO,CAAC,MAAM,CAAS;gBAEX,MAAM,EAAE,YAAY;IA8ChC,+EAA+E;IAC/E,cAAc,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,GAAG,CAAC;IAIxC,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,IAAI,aAAa,IAAI,eAAe,GAAG,SAAS,CAE/C;IAED,SAAS,IAAI,eAAe;IAI5B,gBAAgB,IAAI,wBAAwB;IAwCtC,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAIjC,KAAK,IAAI,IAAI;YAOC,qBAAqB;YAmBrB,iBAAiB;CA4BhC;AAED,wBAAgB,YAAY,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM,CAEzD"}
1
+ {"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../src/engine.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EACf,wBAAwB,EACxB,YAAY,EAGZ,aAAa,EACd,MAAM,mBAAmB,CAAC;AAuB3B,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAU1C,qBAAa,MAAM;IACjB,QAAQ,CAAC,IAAI;;;MAAC;IACd,QAAQ,CAAC,SAAS;;;gBAVW,CAAA;;;;;;;;MAUV;IACnB,QAAQ,CAAC,KAAK;;;;;;;;;;;2BAiBd,CAAA;;;;;;MAjBe;IACf,QAAQ,CAAC,UAAU;;;;MAAC;IACpB,QAAQ,CAAC,QAAQ;;;;;;;;;;;;;;;;;;MAAC;IAClB,QAAQ,CAAC,IAAI;;;;;;;;;;;;;;;;;iBAgDS,CAAC;;;MAhDT;IACd,QAAQ,CAAC,OAAO;;;;;MAAC;IACjB,QAAQ,CAAC,WAAW;;;;;;;;;;MAAC;IACrB,QAAQ,CAAC,SAAS;;;;;;;;;;;;;;;MAAC;IACnB,QAAQ,CAAC,KAAK;;;;;MAAC;IACf,QAAQ,CAAC,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;MAAC;IACxB,QAAQ,CAAC,QAAQ;;;;;;;;MAAC;IAClB,QAAQ,CAAC,SAAS;;;;;;;;;;;;iBAwIqB,CAAC;;;iBAMpC,CAAF;;;;;;;;;;MA9IiB;IACnB,QAAQ,CAAC,OAAO;;;;MAAC;IACjB,QAAQ,CAAC,QAAQ;;;iBAXC,CAAC;gBACT,CAAC;;MAUO;IAClB,QAAQ,CAAC,WAAW;;;;;MAAC;IACrB,QAAQ,CAAC,KAAK;;;;;;;MAAC;IACf,QAAQ,CAAC,OAAO;;;;;;;;;;iBAmBG,CAAC;kBAClB,CAAJ;;MApBmB;IACjB,QAAQ,CAAC,MAAM;;;MAAC;IAChB,QAAQ,CAAC,OAAO;;;;;MAAC;IACjB,QAAQ,CAAC,IAAI;;;iBA6Da,CAAC;;MA7Db;IACd,QAAQ,CAAC,QAAQ;;;;MAAC;IAClB,QAAQ,CAAC,IAAI;;;;;;;;;oBAiKU,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAjKT;IACd,QAAQ,CAAC,UAAU,EAAE,aAAa,CAAC;IACnC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IAE9B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAgB;IACxC,OAAO,CAAC,MAAM,CAAS;gBAEX,MAAM,EAAE,YAAY;IA8ChC,+EAA+E;IAC/E,cAAc,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,GAAG,CAAC;IAIxC,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,IAAI,aAAa,IAAI,eAAe,GAAG,SAAS,CAE/C;IAED,SAAS,IAAI,eAAe;IAI5B,gBAAgB,IAAI,wBAAwB;IAwCtC,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAIjC,KAAK,IAAI,IAAI;YAOC,qBAAqB;YAmBrB,iBAAiB;CA4BhC;AAED,wBAAgB,YAAY,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM,CAEzD"}
package/dist/index.d.ts CHANGED
@@ -32,5 +32,5 @@ export type { StoredObject } from "./cas.js";
32
32
  export { LEGACY_NOTEBOOK_CELL_TYPE_ALIASES, NOTEBOOK_CELL_TYPES, RUNTIME_TABLES, SCHEMA_VERSION, SEMANTIC_TABLES, } from "./schema.js";
33
33
  export { CELLS_TABLE_COLUMNS, CELLS_TABLE_SCHEMA, notebookCellTableRows, type CellTableColumn, type CellTableColumnType, type CellTableRow, type CellTableValue, } from "./catalog-metadata.js";
34
34
  export { isDestructiveEditOperation } from "./edit-policy.js";
35
- export type { UsageEntry, UsageInput, UsageTotals, UsageGroup, UsageSummary } from "./usage.js";
35
+ export type { UsageActualBasis, UsageEntry, UsageGroup, UsageInput, UsageRollup, UsageRollupFilter, UsageRollupGroup, UsageRollupTotals, UsageSummary, UsageTotals, } from "./usage.js";
36
36
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/schema.d.ts CHANGED
@@ -8,5 +8,7 @@ export declare const RUNTIME_TABLES: readonly ["runtime_meta", "runtime_jobs", "
8
8
  export declare const CELLS_TABLE_DEFINITION = "\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 (\n 'audio','image','video','extract_audio','extract_frame','split_video',\n 'prompt','character',\n 'analyze','analysis','generate_video','generate_image','generate_audio',\n 'concat','splice','timeline','goal','post'\n )\n ),\n label TEXT,\n grid_row INTEGER NOT NULL CHECK (grid_row BETWEEN 0 AND 63),\n grid_column INTEGER NOT NULL CHECK (grid_column BETWEEN 0 AND 7),\n output_entity_id TEXT\n REFERENCES entities(entity_id) ON DELETE RESTRICT,\n prompt TEXT,\n provider TEXT,\n model TEXT,\n operation TEXT,\n tool 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";
9
9
  export declare const TAG_SCHEMA_SQL = "\n CREATE TABLE IF NOT EXISTS artifact_tags (\n artifact_id TEXT NOT NULL\n REFERENCES artifacts(artifact_id) ON DELETE CASCADE,\n origin TEXT NOT NULL CHECK (origin IN ('manual','automatic')),\n facet TEXT NOT NULL CHECK (\n facet IN ('people','places','editing','custom')\n ),\n tag_key TEXT NOT NULL,\n label TEXT NOT NULL,\n entity_id TEXT\n REFERENCES entities(entity_id) ON DELETE RESTRICT,\n created_at INTEGER NOT NULL,\n PRIMARY KEY(artifact_id, origin, facet, tag_key)\n );\n CREATE INDEX IF NOT EXISTS artifact_tags_identity\n ON artifact_tags(facet, tag_key, artifact_id);\n CREATE INDEX IF NOT EXISTS artifact_tags_entity\n ON artifact_tags(entity_id);\n CREATE TABLE IF NOT EXISTS artifact_tag_dismissals (\n artifact_id TEXT NOT NULL\n REFERENCES artifacts(artifact_id) ON DELETE CASCADE,\n facet TEXT NOT NULL CHECK (\n facet IN ('people','places','editing','custom')\n ),\n tag_key TEXT NOT NULL,\n label TEXT NOT NULL,\n dismissed_at INTEGER NOT NULL,\n PRIMARY KEY(artifact_id, facet, tag_key)\n );\n CREATE INDEX IF NOT EXISTS artifact_tag_dismissals_identity\n ON artifact_tag_dismissals(facet, tag_key, artifact_id);\n CREATE TABLE IF NOT EXISTS artifact_tag_snapshots (\n artifact_id TEXT PRIMARY KEY\n REFERENCES artifacts(artifact_id) ON DELETE CASCADE,\n source_hash TEXT NOT NULL,\n generator TEXT NOT NULL,\n model TEXT,\n extractor_version TEXT NOT NULL,\n tag_count INTEGER NOT NULL CHECK (tag_count >= 0),\n generation INTEGER NOT NULL CHECK (generation > 0),\n analyzed_at INTEGER NOT NULL\n );\n";
10
10
  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 name TEXT NOT NULL,\n created_at INTEGER NOT NULL\n );\n\n CREATE TABLE IF NOT EXISTS artifacts (\n artifact_id TEXT PRIMARY KEY,\n label TEXT,\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 forgotten_at INTEGER\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 created_at INTEGER NOT NULL,\n PRIMARY KEY(artifact_id, path)\n );\n CREATE TABLE IF NOT EXISTS artifact_streams (\n stream_id TEXT PRIMARY KEY,\n artifact_id TEXT NOT NULL\n REFERENCES artifacts(artifact_id) ON DELETE RESTRICT,\n source_path TEXT NOT NULL,\n object_hash TEXT NOT NULL\n REFERENCES objects(object_hash) ON DELETE RESTRICT,\n stream_index INTEGER NOT NULL CHECK (stream_index >= 0),\n kind TEXT NOT NULL CHECK (kind IN ('video','audio')),\n time_base_numerator INTEGER NOT NULL CHECK (time_base_numerator > 0),\n time_base_denominator INTEGER NOT NULL CHECK (time_base_denominator > 0),\n duration_ticks INTEGER NOT NULL CHECK (duration_ticks > 0),\n codec TEXT NOT NULL,\n profile_json TEXT NOT NULL DEFAULT '{}',\n created_at INTEGER NOT NULL,\n UNIQUE(artifact_id, source_path, object_hash, stream_index),\n FOREIGN KEY(artifact_id, source_path)\n REFERENCES artifact_files(artifact_id, path) ON DELETE RESTRICT\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 created_at INTEGER NOT NULL\n );\n CREATE TABLE IF NOT EXISTS notebook_fields (\n notebook_id TEXT NOT NULL\n REFERENCES notebooks(notebook_id) ON DELETE CASCADE,\n field TEXT NOT NULL CHECK (\n field IN (\n 'description','lifecycle_state','workflow_version',\n 'analysis_revision','fixture'\n )\n ),\n value_json TEXT NOT NULL,\n PRIMARY KEY(notebook_id, field)\n );\n \n CREATE TABLE IF NOT EXISTS cells (\n \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 (\n 'audio','image','video','extract_audio','extract_frame','split_video',\n 'prompt','character',\n 'analyze','analysis','generate_video','generate_image','generate_audio',\n 'concat','splice','timeline','goal','post'\n )\n ),\n label TEXT,\n grid_row INTEGER NOT NULL CHECK (grid_row BETWEEN 0 AND 63),\n grid_column INTEGER NOT NULL CHECK (grid_column BETWEEN 0 AND 7),\n output_entity_id TEXT\n REFERENCES entities(entity_id) ON DELETE RESTRICT,\n prompt TEXT,\n provider TEXT,\n model TEXT,\n operation TEXT,\n tool 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 );\n CREATE TABLE IF NOT EXISTS notebook_cell_executions (\n notebook_id TEXT NOT NULL,\n cell_id TEXT NOT NULL,\n fingerprint TEXT,\n status TEXT,\n output_artifact_id TEXT,\n provider_artifact_id TEXT,\n run_id TEXT,\n completed_at TEXT,\n started_at TEXT,\n updated_at TEXT,\n tool TEXT,\n error TEXT,\n stale INTEGER NOT NULL DEFAULT 0 CHECK (stale IN (0, 1)),\n fixture_baseline INTEGER NOT NULL DEFAULT 0\n CHECK (fixture_baseline IN (0, 1)),\n PRIMARY KEY(notebook_id, cell_id),\n FOREIGN KEY(notebook_id, cell_id)\n REFERENCES cells(notebook_id, cell_id) ON DELETE CASCADE\n );\n CREATE TABLE IF NOT EXISTS notebook_generation_plans (\n notebook_id TEXT NOT NULL\n REFERENCES notebooks(notebook_id) ON DELETE CASCADE,\n plan_id TEXT NOT NULL,\n cell_id TEXT NOT NULL,\n status TEXT NOT NULL,\n plan_json TEXT NOT NULL,\n output_artifact_id TEXT,\n error TEXT,\n created_at TEXT NOT NULL,\n updated_at TEXT NOT NULL,\n PRIMARY KEY(notebook_id, plan_id),\n FOREIGN KEY(notebook_id, cell_id)\n REFERENCES cells(notebook_id, cell_id) ON DELETE CASCADE\n );\n CREATE TABLE IF NOT EXISTS notebook_run_plans (\n notebook_id TEXT NOT NULL\n REFERENCES notebooks(notebook_id) ON DELETE CASCADE,\n plan_id TEXT NOT NULL,\n status TEXT NOT NULL,\n plan_json TEXT NOT NULL,\n paid_cell_ids_json TEXT NOT NULL,\n cell_fingerprints_json TEXT NOT NULL,\n known_cost_usd REAL NOT NULL CHECK (known_cost_usd >= 0),\n unknown_cost_count INTEGER NOT NULL CHECK (unknown_cost_count >= 0),\n created_at TEXT NOT NULL,\n updated_at TEXT NOT NULL,\n run_id TEXT,\n outputs_json TEXT,\n error TEXT,\n PRIMARY KEY(notebook_id, plan_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 UNIQUE(notebook_id, target_cell_id, target_input)\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 cell_references (\n notebook_id TEXT NOT NULL,\n cell_id TEXT NOT NULL,\n reference_id TEXT NOT NULL,\n kind TEXT NOT NULL CHECK (\n kind IN (\n 'artifact','stream','source-range','transcript',\n 'sequence','cell-output'\n )\n ),\n target_id TEXT NOT NULL,\n snapshot_json TEXT NOT NULL DEFAULT '{}',\n ordinal INTEGER NOT NULL CHECK (ordinal >= 0),\n PRIMARY KEY(notebook_id, cell_id, reference_id),\n FOREIGN KEY(notebook_id, cell_id)\n REFERENCES cells(notebook_id, cell_id) ON DELETE CASCADE\n );\n CREATE TABLE IF NOT EXISTS pinned_search_results (\n notebook_id TEXT NOT NULL,\n cell_id TEXT NOT NULL,\n result_id TEXT NOT NULL,\n artifact_id TEXT NOT NULL\n REFERENCES artifacts(artifact_id) ON DELETE RESTRICT,\n object_hash TEXT NOT NULL\n REFERENCES objects(object_hash) ON DELETE RESTRICT,\n location_json TEXT NOT NULL,\n representative_json TEXT,\n query_json TEXT NOT NULL,\n signals_json TEXT NOT NULL,\n selected_revision TEXT NOT NULL,\n ordinal INTEGER NOT NULL CHECK (ordinal >= 0),\n created_at INTEGER NOT NULL,\n PRIMARY KEY(notebook_id, cell_id, result_id),\n FOREIGN KEY(notebook_id, cell_id)\n REFERENCES cells(notebook_id, cell_id) ON DELETE CASCADE\n );\n CREATE TABLE IF NOT EXISTS transcripts (\n transcript_id TEXT PRIMARY KEY,\n artifact_id TEXT NOT NULL\n REFERENCES artifacts(artifact_id) ON DELETE RESTRICT,\n stream_id TEXT NOT NULL\n REFERENCES artifact_streams(stream_id) ON DELETE RESTRICT,\n object_hash TEXT NOT NULL\n REFERENCES objects(object_hash) ON DELETE RESTRICT,\n payload_hash TEXT NOT NULL\n REFERENCES objects(object_hash) ON DELETE RESTRICT,\n language TEXT NOT NULL,\n provider TEXT,\n model TEXT,\n state TEXT NOT NULL CHECK (state IN ('current','derived')),\n created_at INTEGER NOT NULL\n );\n CREATE INDEX IF NOT EXISTS transcripts_current\n ON transcripts(artifact_id, stream_id, object_hash, state);\n CREATE TABLE IF NOT EXISTS transcript_segments (\n segment_id TEXT PRIMARY KEY,\n transcript_id TEXT NOT NULL\n REFERENCES transcripts(transcript_id) ON DELETE CASCADE,\n ordinal INTEGER NOT NULL CHECK (ordinal >= 0),\n start_tick INTEGER NOT NULL CHECK (start_tick >= 0),\n duration_ticks INTEGER NOT NULL CHECK (duration_ticks > 0),\n speaker TEXT,\n confidence REAL CHECK (\n confidence IS NULL OR (confidence >= 0 AND confidence <= 1)\n ),\n kind TEXT NOT NULL CHECK (\n kind IN ('speech','music','sound','silence','other')\n ),\n UNIQUE(transcript_id, ordinal)\n );\n CREATE TABLE IF NOT EXISTS transcript_words (\n word_id TEXT PRIMARY KEY,\n segment_id TEXT NOT NULL\n REFERENCES transcript_segments(segment_id) ON DELETE CASCADE,\n ordinal INTEGER NOT NULL CHECK (ordinal >= 0),\n start_tick INTEGER NOT NULL CHECK (start_tick >= 0),\n duration_ticks INTEGER NOT NULL CHECK (duration_ticks > 0),\n confidence REAL CHECK (\n confidence IS NULL OR (confidence >= 0 AND confidence <= 1)\n ),\n corrected INTEGER NOT NULL DEFAULT 0 CHECK (corrected IN (0,1)),\n UNIQUE(segment_id, ordinal)\n );\n CREATE TABLE IF NOT EXISTS sequences (\n sequence_id TEXT PRIMARY KEY,\n book_id TEXT NOT NULL\n REFERENCES book(book_id) ON DELETE CASCADE,\n name TEXT NOT NULL,\n is_primary INTEGER NOT NULL DEFAULT 0 CHECK (is_primary IN (0,1)),\n width INTEGER NOT NULL CHECK (width > 0),\n height INTEGER NOT NULL CHECK (height > 0),\n pixel_aspect_numerator INTEGER NOT NULL\n CHECK (pixel_aspect_numerator > 0),\n pixel_aspect_denominator INTEGER NOT NULL\n CHECK (pixel_aspect_denominator > 0),\n frame_rate_numerator INTEGER NOT NULL\n CHECK (frame_rate_numerator > 0),\n frame_rate_denominator INTEGER NOT NULL\n CHECK (frame_rate_denominator > 0),\n audio_sample_rate_hz INTEGER NOT NULL CHECK (audio_sample_rate_hz > 0),\n audio_channel_layout TEXT NOT NULL,\n background_rgba_json TEXT NOT NULL,\n created_at INTEGER NOT NULL\n );\n CREATE INDEX IF NOT EXISTS sequences_primary\n ON sequences(book_id, is_primary);\n CREATE TABLE IF NOT EXISTS sequence_tracks (\n track_id TEXT PRIMARY KEY,\n sequence_id TEXT NOT NULL\n REFERENCES sequences(sequence_id) ON DELETE CASCADE,\n kind TEXT NOT NULL CHECK (kind IN ('video','audio','caption')),\n order_key TEXT NOT NULL,\n name TEXT NOT NULL,\n enabled INTEGER NOT NULL DEFAULT 1 CHECK (enabled IN (0,1)),\n locked INTEGER NOT NULL DEFAULT 0 CHECK (locked IN (0,1)),\n muted INTEGER CHECK (muted IS NULL OR muted IN (0,1)),\n solo INTEGER CHECK (solo IS NULL OR solo IN (0,1)),\n blend_mode TEXT,\n CHECK (\n (kind = 'audio' AND muted IS NOT NULL AND solo IS NOT NULL)\n OR (kind <> 'audio' AND muted IS NULL AND solo IS NULL)\n ),\n CHECK (\n (kind = 'video' AND blend_mode = 'normal')\n OR (kind <> 'video' AND blend_mode IS NULL)\n )\n );\n CREATE TABLE IF NOT EXISTS sequence_clips (\n clip_id TEXT PRIMARY KEY,\n track_id TEXT NOT NULL\n REFERENCES sequence_tracks(track_id) ON DELETE CASCADE,\n source_kind TEXT NOT NULL CHECK (source_kind IN ('still','timed')),\n artifact_id TEXT NOT NULL\n REFERENCES artifacts(artifact_id) ON DELETE RESTRICT,\n source_path TEXT,\n stream_id TEXT\n REFERENCES artifact_streams(stream_id) ON DELETE RESTRICT,\n object_hash TEXT NOT NULL\n REFERENCES objects(object_hash) ON DELETE RESTRICT,\n source_start_tick INTEGER,\n source_duration_ticks INTEGER,\n time_base_numerator INTEGER,\n time_base_denominator INTEGER,\n timeline_start_frame INTEGER NOT NULL CHECK (timeline_start_frame >= 0),\n duration_frames INTEGER NOT NULL CHECK (duration_frames > 0),\n speed_numerator INTEGER,\n speed_denominator INTEGER,\n reverse INTEGER,\n audio_policy TEXT,\n gain_db REAL,\n audio_muted INTEGER CHECK (audio_muted IS NULL OR audio_muted IN (0,1)),\n fade_in_frames INTEGER CHECK (fade_in_frames IS NULL OR fade_in_frames >= 0),\n fade_out_frames INTEGER CHECK (fade_out_frames IS NULL OR fade_out_frames >= 0),\n enabled INTEGER NOT NULL DEFAULT 1 CHECK (enabled IN (0,1)),\n CHECK (\n (\n source_kind = 'still'\n AND source_path IS NOT NULL\n AND stream_id IS NULL\n AND source_start_tick IS NULL\n AND source_duration_ticks IS NULL\n AND time_base_numerator IS NULL\n AND time_base_denominator IS NULL\n AND speed_numerator IS NULL\n AND speed_denominator IS NULL\n AND reverse IS NULL\n AND audio_policy IS NULL\n )\n OR\n (\n source_kind = 'timed'\n AND source_path IS NULL\n AND stream_id IS NOT NULL\n AND source_start_tick >= 0\n AND source_duration_ticks > 0\n AND time_base_numerator > 0\n AND time_base_denominator > 0\n AND speed_numerator > 0\n AND speed_denominator > 0\n AND reverse IN (0,1)\n AND audio_policy IN ('preserve-pitch','resample','mute')\n )\n ),\n CHECK (\n (\n gain_db IS NULL\n AND audio_muted IS NULL\n AND fade_in_frames IS NULL\n AND fade_out_frames IS NULL\n )\n OR\n (\n gain_db IS NOT NULL\n AND audio_muted IS NOT NULL\n AND fade_in_frames IS NOT NULL\n AND fade_out_frames IS NOT NULL\n )\n )\n );\n CREATE TABLE IF NOT EXISTS clip_links (\n link_group_id TEXT NOT NULL,\n clip_id TEXT NOT NULL UNIQUE\n REFERENCES sequence_clips(clip_id) ON DELETE CASCADE,\n role TEXT NOT NULL,\n PRIMARY KEY(link_group_id, clip_id)\n );\n CREATE TABLE IF NOT EXISTS clip_transforms (\n clip_id TEXT PRIMARY KEY\n REFERENCES sequence_clips(clip_id) ON DELETE CASCADE,\n fit TEXT NOT NULL CHECK (fit IN ('fit','fill','crop')),\n position_x REAL NOT NULL,\n position_y REAL NOT NULL,\n scale_x REAL NOT NULL CHECK (scale_x > 0),\n scale_y REAL NOT NULL CHECK (scale_y > 0),\n anchor_x REAL NOT NULL,\n anchor_y REAL NOT NULL,\n rotation_degrees REAL NOT NULL,\n crop_top REAL NOT NULL CHECK (crop_top >= 0 AND crop_top <= 1),\n crop_right REAL NOT NULL CHECK (crop_right >= 0 AND crop_right <= 1),\n crop_bottom REAL NOT NULL CHECK (crop_bottom >= 0 AND crop_bottom <= 1),\n crop_left REAL NOT NULL CHECK (crop_left >= 0 AND crop_left <= 1),\n opacity REAL NOT NULL CHECK (opacity >= 0 AND opacity <= 1),\n blend_mode TEXT NOT NULL CHECK (blend_mode = 'normal')\n );\n CREATE TABLE IF NOT EXISTS transitions (\n transition_id TEXT PRIMARY KEY,\n track_id TEXT NOT NULL\n REFERENCES sequence_tracks(track_id) ON DELETE CASCADE,\n outgoing_clip_id TEXT NOT NULL\n REFERENCES sequence_clips(clip_id) ON DELETE CASCADE,\n incoming_clip_id TEXT NOT NULL\n REFERENCES sequence_clips(clip_id) ON DELETE CASCADE,\n kind TEXT NOT NULL CHECK (kind IN ('cut','dissolve')),\n duration_frames INTEGER NOT NULL CHECK (duration_frames > 0),\n alignment TEXT NOT NULL CHECK (alignment IN ('start','center','end')),\n parameters_json TEXT NOT NULL DEFAULT '{}',\n UNIQUE(track_id, outgoing_clip_id, incoming_clip_id)\n );\n CREATE TABLE IF NOT EXISTS caption_cues (\n cue_id TEXT PRIMARY KEY,\n track_id TEXT NOT NULL\n REFERENCES sequence_tracks(track_id) ON DELETE CASCADE,\n timeline_start_frame INTEGER NOT NULL CHECK (timeline_start_frame >= 0),\n duration_frames INTEGER NOT NULL CHECK (duration_frames > 0),\n text TEXT NOT NULL,\n speaker TEXT,\n style_id TEXT NOT NULL,\n transcript_id TEXT\n REFERENCES transcripts(transcript_id) ON DELETE RESTRICT,\n transcript_revision TEXT,\n start_word_id TEXT,\n end_word_id TEXT,\n source_range_json TEXT,\n CHECK (\n (\n transcript_id IS NULL\n AND transcript_revision IS NULL\n AND start_word_id IS NULL\n AND end_word_id IS NULL\n AND source_range_json IS NULL\n )\n OR\n (\n transcript_id IS NOT NULL\n AND transcript_revision IS NOT NULL\n AND start_word_id IS NOT NULL\n AND end_word_id IS NOT NULL\n AND source_range_json IS NOT NULL\n )\n )\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 generations (\n generation_id TEXT PRIMARY KEY,\n notebook_id TEXT NOT NULL,\n cell_id TEXT NOT NULL,\n output_cell_id TEXT,\n run_id TEXT,\n status TEXT NOT NULL CHECK (\n status IN ('dispatched','awaiting_provider','completed','failed')\n ),\n tool TEXT NOT NULL,\n provider TEXT,\n model TEXT,\n prompt TEXT,\n resolved_prompt TEXT,\n provider_artifact_id TEXT,\n output_artifact_id TEXT,\n error TEXT,\n created_at INTEGER NOT NULL,\n updated_at INTEGER NOT NULL,\n FOREIGN KEY(notebook_id, cell_id)\n REFERENCES cells(notebook_id, cell_id) ON DELETE CASCADE\n );\n\n \n CREATE TABLE IF NOT EXISTS artifact_tags (\n artifact_id TEXT NOT NULL\n REFERENCES artifacts(artifact_id) ON DELETE CASCADE,\n origin TEXT NOT NULL CHECK (origin IN ('manual','automatic')),\n facet TEXT NOT NULL CHECK (\n facet IN ('people','places','editing','custom')\n ),\n tag_key TEXT NOT NULL,\n label TEXT NOT NULL,\n entity_id TEXT\n REFERENCES entities(entity_id) ON DELETE RESTRICT,\n created_at INTEGER NOT NULL,\n PRIMARY KEY(artifact_id, origin, facet, tag_key)\n );\n CREATE INDEX IF NOT EXISTS artifact_tags_identity\n ON artifact_tags(facet, tag_key, artifact_id);\n CREATE INDEX IF NOT EXISTS artifact_tags_entity\n ON artifact_tags(entity_id);\n CREATE TABLE IF NOT EXISTS artifact_tag_dismissals (\n artifact_id TEXT NOT NULL\n REFERENCES artifacts(artifact_id) ON DELETE CASCADE,\n facet TEXT NOT NULL CHECK (\n facet IN ('people','places','editing','custom')\n ),\n tag_key TEXT NOT NULL,\n label TEXT NOT NULL,\n dismissed_at INTEGER NOT NULL,\n PRIMARY KEY(artifact_id, facet, tag_key)\n );\n CREATE INDEX IF NOT EXISTS artifact_tag_dismissals_identity\n ON artifact_tag_dismissals(facet, tag_key, artifact_id);\n CREATE TABLE IF NOT EXISTS artifact_tag_snapshots (\n artifact_id TEXT PRIMARY KEY\n REFERENCES artifacts(artifact_id) ON DELETE CASCADE,\n source_hash TEXT NOT NULL,\n generator TEXT NOT NULL,\n model TEXT,\n extractor_version TEXT NOT NULL,\n tag_count INTEGER NOT NULL CHECK (tag_count >= 0),\n generation INTEGER NOT NULL CHECK (generation > 0),\n analyzed_at INTEGER NOT NULL\n );\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 artifact_streams_artifact\n ON artifact_streams(artifact_id, source_path, stream_index);\n CREATE INDEX IF NOT EXISTS artifact_streams_object\n ON artifact_streams(object_hash, stream_id);\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_output_entity\n ON cells(output_entity_id);\n CREATE INDEX IF NOT EXISTS notebook_generation_plans_cell\n ON notebook_generation_plans(notebook_id, cell_id, updated_at, plan_id);\n CREATE INDEX IF NOT EXISTS notebook_run_plans_updated\n ON notebook_run_plans(notebook_id, updated_at, plan_id);\n CREATE INDEX IF NOT EXISTS cells_grid\n ON cells(notebook_id, grid_row, grid_column, cell_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 cell_references_target\n ON cell_references(kind, target_id);\n CREATE INDEX IF NOT EXISTS pinned_search_results_artifact\n ON pinned_search_results(artifact_id, created_at, result_id);\n CREATE INDEX IF NOT EXISTS transcripts_artifact\n ON transcripts(artifact_id, stream_id, state, created_at);\n CREATE INDEX IF NOT EXISTS transcript_segments_order\n ON transcript_segments(transcript_id, ordinal);\n CREATE INDEX IF NOT EXISTS transcript_words_order\n ON transcript_words(segment_id, ordinal);\n CREATE INDEX IF NOT EXISTS sequence_tracks_order\n ON sequence_tracks(sequence_id, kind, order_key);\n CREATE INDEX IF NOT EXISTS sequence_clips_timeline\n ON sequence_clips(track_id, timeline_start_frame, clip_id);\n CREATE INDEX IF NOT EXISTS sequence_clips_artifact\n ON sequence_clips(artifact_id, object_hash);\n CREATE INDEX IF NOT EXISTS transitions_track\n ON transitions(track_id, outgoing_clip_id, incoming_clip_id);\n CREATE INDEX IF NOT EXISTS caption_cues_timeline\n ON caption_cues(track_id, timeline_start_frame, cue_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 generations_cell\n ON generations(notebook_id, cell_id, created_at);\n";
11
+ export declare const RUNTIME_USAGE_ROLLUP_COLUMNS: readonly [readonly ["estimate_nanos", "BIGINT"], readonly ["actual_basis", "TEXT"], readonly ["run_id", "TEXT"], readonly ["cell_id", "TEXT"], readonly ["job_id", "TEXT"]];
12
+ export declare const RUNTIME_USAGE_ROLLUP_INDEX_SQL = "\n CREATE INDEX IF NOT EXISTS runtime_usage_run\n ON runtime_usage(run_id);\n CREATE INDEX IF NOT EXISTS runtime_usage_cell\n ON runtime_usage(cell_id);\n CREATE INDEX IF NOT EXISTS runtime_usage_job\n ON runtime_usage(job_id);\n";
11
13
  export declare const RUNTIME_SCHEMA_SQL = "\n CREATE TABLE IF NOT EXISTS runtime_usage (\n id TEXT PRIMARY KEY,\n provider TEXT NOT NULL,\n external_id TEXT,\n activity TEXT NOT NULL,\n model TEXT NOT NULL,\n status TEXT NOT NULL,\n basis TEXT NOT NULL,\n input_tokens BIGINT,\n output_tokens BIGINT,\n cached_tokens BIGINT,\n token_based INTEGER NOT NULL,\n cost_nanos BIGINT,\n body_json TEXT NOT NULL,\n created_at BIGINT NOT NULL,\n updated_at BIGINT NOT NULL\n );\n CREATE UNIQUE INDEX IF NOT EXISTS runtime_usage_external\n ON runtime_usage(provider, external_id);\n CREATE INDEX IF NOT EXISTS runtime_usage_recent\n ON runtime_usage(created_at, id);\n\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 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 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 CREATE TABLE IF NOT EXISTS runtime_index_manifests (\n manifest_id TEXT PRIMARY KEY,\n provider TEXT NOT NULL,\n model_id TEXT NOT NULL,\n model_revision TEXT NOT NULL,\n license TEXT,\n embedding_space TEXT NOT NULL,\n dimensions INTEGER NOT NULL CHECK (dimensions > 0),\n modalities_json TEXT NOT NULL,\n supported_languages_json TEXT NOT NULL,\n preprocessing_version TEXT NOT NULL,\n extractor_version TEXT NOT NULL,\n created_at INTEGER NOT NULL\n );\n\n CREATE TABLE IF NOT EXISTS runtime_index_generations (\n embedding_space TEXT NOT NULL,\n generation TEXT NOT NULL,\n manifest_id TEXT NOT NULL\n REFERENCES runtime_index_manifests(manifest_id) ON DELETE RESTRICT,\n state TEXT NOT NULL CHECK (state IN ('building','active','retired')),\n activated_at INTEGER,\n created_at INTEGER NOT NULL,\n PRIMARY KEY(embedding_space, generation)\n );\n CREATE UNIQUE INDEX IF NOT EXISTS runtime_index_generation_active\n ON runtime_index_generations(embedding_space)\n WHERE state='active';\n\n CREATE TABLE IF NOT EXISTS runtime_index_coverage (\n artifact_id TEXT NOT NULL,\n object_hash TEXT NOT NULL,\n manifest_id TEXT NOT NULL\n REFERENCES runtime_index_manifests(manifest_id) ON DELETE CASCADE,\n generation TEXT NOT NULL,\n phase TEXT NOT NULL,\n state TEXT NOT NULL,\n covered_ranges_json TEXT NOT NULL,\n indexed_units INTEGER NOT NULL CHECK (indexed_units >= 0),\n total_units INTEGER,\n retryable INTEGER NOT NULL CHECK (retryable IN (0,1)),\n error_json TEXT,\n cursor TEXT,\n updated_at INTEGER NOT NULL,\n PRIMARY KEY(artifact_id, object_hash, manifest_id, generation, phase)\n );\n CREATE INDEX IF NOT EXISTS runtime_index_coverage_state\n ON runtime_index_coverage(generation, state, artifact_id);\n\n CREATE TABLE IF NOT EXISTS runtime_media_segments (\n segment_id TEXT PRIMARY KEY,\n artifact_id TEXT NOT NULL,\n stream_id TEXT,\n object_hash TEXT NOT NULL,\n source_range_json TEXT,\n source_path TEXT,\n segment_kind TEXT NOT NULL,\n representative_tick INTEGER,\n segmentation_version TEXT NOT NULL,\n generation TEXT NOT NULL,\n manifest_id TEXT NOT NULL\n REFERENCES runtime_index_manifests(manifest_id) ON DELETE CASCADE,\n created_at INTEGER NOT NULL\n );\n CREATE INDEX IF NOT EXISTS runtime_media_segments_source\n ON runtime_media_segments(\n generation, artifact_id, stream_id, representative_tick\n );\n\n CREATE TABLE IF NOT EXISTS runtime_segment_text (\n text_id TEXT PRIMARY KEY,\n segment_id TEXT NOT NULL\n REFERENCES runtime_media_segments(segment_id) ON DELETE CASCADE,\n kind TEXT NOT NULL,\n language TEXT,\n text TEXT NOT NULL,\n start_utf8_byte INTEGER,\n end_utf8_byte INTEGER,\n confidence REAL,\n provenance_json TEXT NOT NULL,\n generation TEXT NOT NULL\n );\n CREATE INDEX IF NOT EXISTS runtime_segment_text_lookup\n ON runtime_segment_text(generation, kind, segment_id);\n\n CREATE TABLE IF NOT EXISTS runtime_segment_embeddings (\n embedding_id TEXT PRIMARY KEY,\n segment_id TEXT NOT NULL\n REFERENCES runtime_media_segments(segment_id) ON DELETE CASCADE,\n modality TEXT NOT NULL,\n embedding_space TEXT NOT NULL,\n dimensions INTEGER NOT NULL,\n vector_blob BLOB NOT NULL,\n source_hash TEXT NOT NULL,\n generation TEXT NOT NULL,\n updated_at INTEGER NOT NULL,\n UNIQUE(segment_id, modality, embedding_space, generation)\n );\n CREATE INDEX IF NOT EXISTS runtime_segment_embeddings_space\n ON runtime_segment_embeddings(\n generation, embedding_space, modality, segment_id\n );\n\n CREATE TABLE IF NOT EXISTS runtime_segment_fingerprints (\n fingerprint_id TEXT PRIMARY KEY,\n segment_id TEXT NOT NULL\n REFERENCES runtime_media_segments(segment_id) ON DELETE CASCADE,\n kind TEXT NOT NULL,\n value TEXT NOT NULL,\n extractor_version TEXT NOT NULL,\n generation TEXT NOT NULL,\n UNIQUE(kind, value, extractor_version, segment_id)\n );\n CREATE INDEX IF NOT EXISTS runtime_segment_fingerprints_lookup\n ON runtime_segment_fingerprints(generation, kind, value);\n\n CREATE TABLE IF NOT EXISTS runtime_index_batches (\n batch_key TEXT PRIMARY KEY,\n artifact_id TEXT NOT NULL,\n object_hash TEXT NOT NULL,\n manifest_id TEXT NOT NULL,\n generation TEXT NOT NULL,\n phase TEXT NOT NULL,\n cursor TEXT,\n result_json TEXT NOT NULL,\n committed_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";
12
14
  //# sourceMappingURL=schema.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAGvD,eAAO,MAAM,mBAAmB,0NAkBtB,CAAC;AAEX,MAAM,MAAM,gBAAgB,GAAG,CAAC,OAAO,mBAAmB,CAAC,CAAC,MAAM,CAAC,CAAC;AAMpE,eAAO,MAAM,iCAAiC,EAAE,QAAQ,CACtD,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAGjC,CAAC;AAMF,eAAO,MAAM,eAAe,2nBAqClB,CAAC;AAEX,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,eAAe,CAAC,CAAC,MAAM,CAAC,CAAC;AAE7D,eAAO,MAAM,cAAc,+mBAyBjB,CAAC;AAEX,eAAO,MAAM,sBAAsB,86BA0BlC,CAAC;AAiBF,eAAO,MAAM,cAAc,qnDA2C1B,CAAC;AAEF,eAAO,MAAM,mBAAmB,yitBAiiB/B,CAAC;AAsBF,eAAO,MAAM,kBAAkB,8sXA6U9B,CAAC"}
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAGvD,eAAO,MAAM,mBAAmB,0NAkBtB,CAAC;AAEX,MAAM,MAAM,gBAAgB,GAAG,CAAC,OAAO,mBAAmB,CAAC,CAAC,MAAM,CAAC,CAAC;AAMpE,eAAO,MAAM,iCAAiC,EAAE,QAAQ,CACtD,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAGjC,CAAC;AAMF,eAAO,MAAM,eAAe,2nBAqClB,CAAC;AAEX,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,eAAe,CAAC,CAAC,MAAM,CAAC,CAAC;AAE7D,eAAO,MAAM,cAAc,+mBAyBjB,CAAC;AAEX,eAAO,MAAM,sBAAsB,86BA0BlC,CAAC;AAiBF,eAAO,MAAM,cAAc,qnDA2C1B,CAAC;AAEF,eAAO,MAAM,mBAAmB,yitBAiiB/B,CAAC;AAyBF,eAAO,MAAM,4BAA4B,6KAM/B,CAAC;AAEX,eAAO,MAAM,8BAA8B,sPAO1C,CAAC;AAEF,eAAO,MAAM,kBAAkB,8sXA6U9B,CAAC"}
package/dist/schema.js CHANGED
@@ -743,6 +743,24 @@ const RUNTIME_SIMILARITY_SCHEMA_SQL = `
743
743
  CREATE INDEX IF NOT EXISTS runtime_similarity_object
744
744
  ON runtime_similarity_embeddings(object_hash, embedding_space);
745
745
  `;
746
+ // Added to runtime_usage after engine 5.7.1. Runtime tables are never versioned,
747
+ // so every catalog gains these in place at open, with no schema-version bump and
748
+ // no Dolt commit. The indexes need the columns, so they cannot join the script below.
749
+ export const RUNTIME_USAGE_ROLLUP_COLUMNS = [
750
+ ["estimate_nanos", "BIGINT"],
751
+ ["actual_basis", "TEXT"],
752
+ ["run_id", "TEXT"],
753
+ ["cell_id", "TEXT"],
754
+ ["job_id", "TEXT"],
755
+ ];
756
+ export const RUNTIME_USAGE_ROLLUP_INDEX_SQL = `
757
+ CREATE INDEX IF NOT EXISTS runtime_usage_run
758
+ ON runtime_usage(run_id);
759
+ CREATE INDEX IF NOT EXISTS runtime_usage_cell
760
+ ON runtime_usage(cell_id);
761
+ CREATE INDEX IF NOT EXISTS runtime_usage_job
762
+ ON runtime_usage(job_id);
763
+ `;
746
764
  export const RUNTIME_SCHEMA_SQL = `
747
765
  CREATE TABLE IF NOT EXISTS runtime_usage (
748
766
  id TEXT PRIMARY KEY,
@@ -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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"}
package/dist/store.d.ts CHANGED
@@ -64,6 +64,7 @@ export declare class DoltStore {
64
64
  private runDoltGc;
65
65
  private configureConnection;
66
66
  private initialize;
67
+ private applyRuntimeSchema;
67
68
  private schemaRow;
68
69
  private migrateAssetTags;
69
70
  private migrateCellTypes;
@@ -1 +1 @@
1
- {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":"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"}
package/dist/store.js CHANGED
@@ -11,7 +11,7 @@ import { initialOrderKeys } from "./order-keys.js";
11
11
  import { applyV22NotebookGridMigration } from "./migrate-grid-v22.js";
12
12
  import { ASSET_TAG_TABLES, applyAssetTagMigration, } from "./migrate-tags-v24.js";
13
13
  import { applyV23NotebookGridMigration } from "./migrate-grid-v23.js";
14
- import { RUNTIME_SCHEMA_SQL, RUNTIME_TABLES, SCHEMA_VERSION, SEMANTIC_SCHEMA_SQL, SEMANTIC_TABLES, } from "./schema.js";
14
+ import { RUNTIME_SCHEMA_SQL, RUNTIME_TABLES, RUNTIME_USAGE_ROLLUP_COLUMNS, RUNTIME_USAGE_ROLLUP_INDEX_SQL, SCHEMA_VERSION, SEMANTIC_SCHEMA_SQL, SEMANTIC_TABLES, } from "./schema.js";
15
15
  const OUTBOX_ALLOW_EMPTY_FLAG = "allow-empty";
16
16
  const DEFAULT_COMMIT_AUTHOR = "Videobook <videobook@localhost>";
17
17
  const IGNORE_PATTERNS = ["runtime_%", "sqlite_sequence", "job_runs"];
@@ -333,7 +333,7 @@ export class DoltStore {
333
333
  // version. Recover its declared structural write set before deciding
334
334
  // which migrations remain, just as for ordinary semantic writes.
335
335
  this.ensureIgnorePatterns();
336
- this.db.exec(RUNTIME_SCHEMA_SQL);
336
+ this.applyRuntimeSchema();
337
337
  this.assertRuntimeUnstaged();
338
338
  this.recoverOutbox();
339
339
  row = this.schemaRow();
@@ -391,7 +391,7 @@ export class DoltStore {
391
391
  }
392
392
  this.ensureIgnorePatterns();
393
393
  }
394
- this.db.exec(RUNTIME_SCHEMA_SQL);
394
+ this.applyRuntimeSchema();
395
395
  const runtimeSchema = this.db.prepare("SELECT value_json FROM runtime_meta WHERE key='schema_version'")
396
396
  .get();
397
397
  if (runtimeSchema?.value_json !== String(SCHEMA_VERSION)) {
@@ -408,6 +408,22 @@ export class DoltStore {
408
408
  this.recoverOutbox();
409
409
  this.verifyCleanSemanticWorktree();
410
410
  }
411
+ applyRuntimeSchema() {
412
+ this.db.exec(RUNTIME_SCHEMA_SQL);
413
+ const missing = () => {
414
+ const present = new Set(this.db.prepare("PRAGMA table_info(runtime_usage)").all().map((column) => column.name));
415
+ return RUNTIME_USAGE_ROLLUP_COLUMNS.filter(([name]) => !present.has(name));
416
+ };
417
+ if (missing().length > 0) {
418
+ // Recheck under the writer lock: another process may be opening this catalog.
419
+ this.runtime(() => {
420
+ for (const [name, type] of missing()) {
421
+ this.db.exec(`ALTER TABLE runtime_usage ADD COLUMN ${name} ${type}`);
422
+ }
423
+ });
424
+ }
425
+ this.db.exec(RUNTIME_USAGE_ROLLUP_INDEX_SQL);
426
+ }
411
427
  schemaRow() {
412
428
  const row = this.db
413
429
  .prepare("SELECT version FROM engine_schema WHERE singleton = 1")
package/dist/store.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"store.js","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"store.js","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":"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"}
package/dist/usage.d.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  import type { EngineContext } from "./context.js";
2
+ export type UsageActualBasis = "stated" | "derived" | "usage-only" | "none";
2
3
  export interface UsageEntry {
3
4
  id: string;
4
5
  provider: string;
@@ -19,6 +20,16 @@ export interface UsageEntry {
19
20
  artifactId: string | null;
20
21
  operation: string | null;
21
22
  warnings: string[];
23
+ estimateUsd: number | null;
24
+ estimateSource: string | null;
25
+ estimateRateAsOf: string | null;
26
+ actualBasis: UsageActualBasis | null;
27
+ cacheWriteTokens: number | null;
28
+ listUsd: number | null;
29
+ notebookId: string | null;
30
+ cellId: string | null;
31
+ jobId: string | null;
32
+ runId: string | null;
22
33
  createdAt: number;
23
34
  updatedAt: number;
24
35
  }
@@ -46,11 +57,35 @@ export interface UsageSummary {
46
57
  totals: UsageTotals;
47
58
  groups: UsageGroup[];
48
59
  }
60
+ export interface UsageRollupTotals extends UsageTotals {
61
+ actualUsd: number;
62
+ estimateUsd: number;
63
+ settledEstimateUsd: number;
64
+ pendingEstimateUsd: number;
65
+ unsettled: number;
66
+ unestimated: number;
67
+ }
68
+ export interface UsageRollupGroup extends UsageRollupTotals {
69
+ id: string;
70
+ }
71
+ export interface UsageRollupFilter {
72
+ runId?: string;
73
+ cellId?: string;
74
+ jobId?: string;
75
+ }
76
+ export interface UsageRollup {
77
+ currency: "USD";
78
+ totals: UsageRollupTotals;
79
+ runs: UsageRollupGroup[];
80
+ cells: UsageRollupGroup[];
81
+ jobs: UsageRollupGroup[];
82
+ }
49
83
  export declare function createUsageApi(context: EngineContext): {
50
84
  record: (input: UsageInput) => import("./engine-types.js").Result<UsageEntry, import("./engine-types.js").EngineError>;
51
85
  read: (id: string) => UsageEntry | null;
52
86
  find: (provider: string, externalId: string) => UsageEntry | null;
53
87
  summary: () => UsageSummary;
88
+ rollup: (filter?: UsageRollupFilter) => UsageRollup;
54
89
  recent: (limit?: number) => UsageEntry[];
55
90
  };
56
91
  //# sourceMappingURL=usage.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"usage.d.ts","sourceRoot":"","sources":["../src/usage.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAIlD,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,QAAQ,GAAG,OAAO,GAAG,OAAO,GAAG,MAAM,GAAG,OAAO,GAAG,UAAU,CAAC;IACvE,MAAM,EAAE,SAAS,GAAG,WAAW,GAAG,QAAQ,GAAG,WAAW,GAAG,WAAW,CAAC;IACvE,KAAK,EAAE,UAAU,GAAG,WAAW,GAAG,SAAS,GAAG,MAAM,CAAC;IACrD,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,UAAU,EAAE,OAAO,CAAC;IACpB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,EAAE,IAAI,GAAG,UAAU,GAAG,OAAO,GAAG,UAAU,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC,CAAC;AAE7H,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,UAAW,SAAQ,WAAW;IAC7C,QAAQ,EAAE,UAAU,CAAC,UAAU,CAAC,CAAC;IACjC,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,YAAY;IAC3B,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,KAAK,CAAC;IAChB,MAAM,EAAE,WAAW,CAAC;IACpB,MAAM,EAAE,UAAU,EAAE,CAAC;CACtB;AAoCD,wBAAgB,cAAc,CAAC,OAAO,EAAE,aAAa;oBAS5B,UAAU;eAHf,MAAM,KAAG,UAAU,GAAG,IAAI;qBACpB,MAAM,cAAc,MAAM,KAAG,UAAU,GAAG,IAAI;mBAoClD,YAAY;gCAsBH,UAAU,EAAE;EAa1C"}
1
+ {"version":3,"file":"usage.d.ts","sourceRoot":"","sources":["../src/usage.ts"],"names":[],"mappings":"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"}
package/dist/usage.js CHANGED
@@ -3,88 +3,167 @@ import { canonicalJson, EngineFault, parseJson } from "./store.js";
3
3
  const activities = new Set(["images", "video", "audio", "chat", "voice", "analysis"]);
4
4
  const statuses = new Set(["pending", "completed", "failed", "cancelled", "uncertain"]);
5
5
  const bases = new Set(["reported", "estimated", "unknown", "free"]);
6
+ const actualBases = new Set(["stated", "derived", "usage-only", "none"]);
7
+ const rollupColumns = new Map([["runId", "run_id"], ["cellId", "cell_id"], ["jobId", "job_id"]]);
8
+ const unset = {
9
+ estimateUsd: null, estimateSource: null, estimateRateAsOf: null, actualBasis: null, cacheWriteTokens: null,
10
+ listUsd: null, notebookId: null, cellId: null, jobId: null, runId: null,
11
+ };
12
+ const unpricedRow = "status<>'pending' AND (cost_nanos IS NULL OR (status<>'completed' AND input_tokens IS NULL AND output_tokens IS NULL AND basis='estimated'))";
13
+ const totalsColumns = `COUNT(*) AS count,
14
+ COALESCE(SUM(input_tokens), 0) AS inputTokens, COALESCE(SUM(output_tokens), 0) AS outputTokens,
15
+ COALESCE(SUM(cached_tokens), 0) AS cachedTokens,
16
+ COALESCE(SUM(CASE WHEN token_based=1 AND status<>'pending' AND (input_tokens IS NULL OR output_tokens IS NULL) THEN 1 ELSE 0 END), 0) AS missingTokens,
17
+ COALESCE(SUM(CASE WHEN status<>'pending' AND basis='reported' THEN COALESCE(cost_nanos, 0) ELSE 0 END), 0) AS reportedNanos,
18
+ COALESCE(SUM(CASE WHEN status<>'pending' AND (status='completed' OR input_tokens IS NOT NULL OR output_tokens IS NOT NULL) AND basis='estimated' THEN COALESCE(cost_nanos, 0) ELSE 0 END), 0) AS estimatedNanos,
19
+ COALESCE(SUM(CASE WHEN ${unpricedRow} THEN 1 ELSE 0 END), 0) AS unpriced,
20
+ COALESCE(SUM(CASE WHEN status='pending' THEN 1 ELSE 0 END), 0) AS pendingCount,
21
+ COALESCE(SUM(CASE WHEN status='pending' THEN COALESCE(cost_nanos, 0) ELSE 0 END), 0) AS pendingNanos`;
22
+ // An unlabelled row on the estimated basis counts only with token counts: older rows
23
+ // have no label, and a figure with tokens behind it came from usage, not from a quote.
24
+ const knownActualRow = `cost_nanos IS NOT NULL AND status<>'pending' AND (basis='reported' OR (basis='estimated'
25
+ AND (status='completed' OR input_tokens IS NOT NULL OR output_tokens IS NOT NULL)
26
+ AND (actual_basis IN ('stated', 'derived') OR (actual_basis IS NULL AND (input_tokens IS NOT NULL OR output_tokens IS NOT NULL)))))`;
27
+ const settledRow = `(${knownActualRow}) OR (basis='free' AND status<>'pending')`;
28
+ const rollupTotalsColumns = `${totalsColumns},
29
+ COALESCE(SUM(CASE WHEN ${knownActualRow} THEN cost_nanos ELSE 0 END), 0) AS actualNanos,
30
+ COALESCE(SUM(estimate_nanos), 0) AS estimateNanos,
31
+ COALESCE(SUM(CASE WHEN ${settledRow} THEN COALESCE(estimate_nanos, 0) ELSE 0 END), 0) AS settledEstimateNanos,
32
+ COALESCE(SUM(CASE WHEN status='pending' THEN COALESCE(estimate_nanos, 0) ELSE 0 END), 0) AS pendingEstimateNanos,
33
+ COUNT(*) - COALESCE(SUM(CASE WHEN status NOT IN ('pending', 'uncertain') AND (${settledRow}) THEN 1 ELSE 0 END), 0) AS unsettled,
34
+ COALESCE(SUM(CASE WHEN estimate_nanos IS NULL THEN 1 ELSE 0 END), 0) AS unestimated`;
6
35
  function invalid(message) {
7
36
  throw new EngineFault({ code: "INVALID_INPUT", message });
8
37
  }
38
+ function validText(value) {
39
+ return typeof value === "string" && value.trim().length > 0 && value.length <= 500;
40
+ }
9
41
  function validate(entry) {
10
42
  for (const name of ["id", "provider", "model"]) {
11
43
  if (!entry[name]?.trim() || entry[name].length > 500)
12
44
  invalid(`Invalid usage ${name}`);
13
45
  }
46
+ for (const name of ["estimateSource", "estimateRateAsOf", "notebookId", "cellId", "jobId", "runId"]) {
47
+ if (entry[name] !== null && !validText(entry[name]))
48
+ invalid(`Invalid usage ${name}`);
49
+ }
14
50
  if (!activities.has(entry.activity) || !statuses.has(entry.status) || !bases.has(entry.basis))
15
51
  invalid("Invalid usage classification");
16
- for (const name of ["inputTokens", "outputTokens", "cachedTokens", "createdAt"]) {
52
+ if (entry.actualBasis !== null && !actualBases.has(entry.actualBasis))
53
+ invalid("Invalid usage classification");
54
+ for (const name of ["inputTokens", "outputTokens", "cachedTokens", "cacheWriteTokens", "createdAt"]) {
17
55
  const n = entry[name];
18
56
  if (n !== null && (!Number.isSafeInteger(n) || n < 0))
19
57
  invalid(`Invalid usage ${name}`);
20
58
  }
21
59
  if (entry.cachedTokens !== null && entry.inputTokens !== null && entry.cachedTokens > entry.inputTokens)
22
60
  invalid("Cached tokens exceed input tokens");
23
- for (const name of ["costUsd", "units"]) {
61
+ for (const name of ["costUsd", "units", "estimateUsd", "listUsd"]) {
24
62
  const n = entry[name];
25
63
  if (n !== null && (!Number.isFinite(n) || n < 0))
26
64
  invalid(`Invalid usage ${name}`);
27
65
  }
28
- if (entry.costUsd !== null && !Number.isSafeInteger(Math.round(entry.costUsd * 1e9)))
29
- invalid("Usage cost exceeds precision limit");
66
+ for (const name of ["costUsd", "estimateUsd", "listUsd"]) {
67
+ const n = entry[name];
68
+ if (n !== null && !Number.isSafeInteger(Math.round(n * 1e9)))
69
+ invalid("Usage cost exceeds precision limit");
70
+ }
30
71
  if (entry.basis === "unknown")
31
72
  entry.costUsd = null;
32
73
  if (entry.basis === "free")
33
74
  entry.costUsd = 0;
75
+ // A dropped figure takes its label with it: nothing is left to call stated or derived.
76
+ if (entry.costUsd === null && (entry.actualBasis === "stated" || entry.actualBasis === "derived"))
77
+ entry.actualBasis = null;
78
+ }
79
+ // How firmly a row or patch knows its cost: a charge the provider stated, then a figure
80
+ // derived from usage, then anything else. A weaker write cannot replace a stronger figure.
81
+ function actualRank(row) {
82
+ if (!row || row.basis === "unknown" || row.basis === "free" || (row.costUsd ?? null) === null)
83
+ return 0;
84
+ if (row.actualBasis === "stated" || (row.basis === "reported" && !row.actualBasis))
85
+ return 2;
86
+ return row.actualBasis === "derived" ? 1 : 0;
87
+ }
88
+ function toRollupTotals({ reportedNanos, estimatedNanos, pendingNanos, actualNanos, estimateNanos, settledEstimateNanos, pendingEstimateNanos, ...row }) {
89
+ return {
90
+ ...row,
91
+ reportedUsd: reportedNanos / 1e9, estimatedUsd: estimatedNanos / 1e9, pendingUsd: pendingNanos / 1e9,
92
+ actualUsd: actualNanos / 1e9, estimateUsd: estimateNanos / 1e9,
93
+ settledEstimateUsd: settledEstimateNanos / 1e9, pendingEstimateUsd: pendingEstimateNanos / 1e9,
94
+ };
34
95
  }
35
96
  export function createUsageApi(context) {
36
97
  context.store.runtime((now) => {
37
98
  context.store.db.prepare("INSERT INTO runtime_meta(key, value_json, updated_at) VALUES ('usage_started_at', ?, ?) ON CONFLICT(key) DO NOTHING").run(String(now), now);
38
99
  });
39
- const decode = (row) => row ? parseJson(row.body_json, null) : null;
100
+ const decode = (row) => {
101
+ const entry = row ? parseJson(row.body_json, null) : null;
102
+ return entry ? { ...unset, ...entry } : null;
103
+ };
40
104
  const read = (id) => decode(context.store.db.prepare("SELECT body_json FROM runtime_usage WHERE id=?").get(id));
41
105
  const find = (provider, externalId) => decode(context.store.db.prepare("SELECT body_json FROM runtime_usage WHERE provider=? AND external_id=?").get(provider, externalId));
42
106
  const record = (input) => syncResultOf(() => context.store.runtime((now) => {
43
107
  const byId = read(input.id);
44
108
  const external = input.externalId ? find(input.provider, input.externalId) : null;
45
109
  const current = external ?? byId;
110
+ const absorbed = external && byId && byId.id !== external.id ? byId : null;
46
111
  if (current && (current.provider !== input.provider || current.model !== input.model || current.activity !== input.activity))
47
112
  invalid("Usage identity cannot change");
48
- if (current && current.status !== "pending" && current.status !== "uncertain" && input.status === "pending")
113
+ const stale = current !== null && current.status !== "pending" && current.status !== "uncertain" && input.status === "pending";
114
+ if (current && stale && !absorbed)
49
115
  return current;
116
+ // A stale pending write cannot move a settled row. When it brings a row to absorb,
117
+ // it can only fill in what that call knew: the quote and the attribution.
118
+ const { id, provider, model, activity, estimateUsd, estimateSource, estimateRateAsOf, notebookId, cellId, jobId, runId } = input;
119
+ const patch = stale ? { id, provider, model, activity, estimateUsd, estimateSource, estimateRateAsOf, notebookId, cellId, jobId, runId } : input;
120
+ // A patch never clears these: null means "nothing new". A quote and its attribution
121
+ // belong to the call that made them, so the first value stays; an actual may refine.
122
+ const first = (field) => (current?.[field] ?? absorbed?.[field] ?? patch[field] ?? null);
123
+ const latest = (field) => (patch[field] ?? current?.[field] ?? absorbed?.[field] ?? null);
124
+ const quote = [current, absorbed, patch].find((row) => typeof row?.estimateUsd === "number");
50
125
  const entry = {
51
126
  status: "pending", basis: "unknown", externalId: null,
52
127
  inputTokens: null, outputTokens: null, cachedTokens: null, tokenBased: false,
53
128
  costUsd: null, units: null, unit: null, rateSource: null, pricingVersion: null,
54
129
  artifactId: null, operation: null, warnings: [], createdAt: now,
55
- ...current, ...input, id: current?.id ?? input.id, updatedAt: now,
130
+ ...current, ...patch, id: current?.id ?? input.id, updatedAt: now,
131
+ estimateUsd: quote ? quote.estimateUsd ?? null : latest("estimateUsd"),
132
+ estimateSource: quote ? quote.estimateSource ?? null : latest("estimateSource"),
133
+ estimateRateAsOf: quote ? quote.estimateRateAsOf ?? null : latest("estimateRateAsOf"),
134
+ actualBasis: latest("actualBasis"), cacheWriteTokens: latest("cacheWriteTokens"), listUsd: latest("listUsd"),
135
+ notebookId: first("notebookId"), cellId: first("cellId"), jobId: first("jobId"), runId: first("runId"),
56
136
  };
57
137
  if (current)
58
138
  entry.createdAt = current.createdAt;
59
- if (current?.basis === "reported" && input.basis !== "reported") {
60
- entry.costUsd = current.costUsd;
61
- entry.basis = current.basis;
62
- entry.rateSource = current.rateSource;
139
+ const held = actualRank(absorbed) > actualRank(current) ? absorbed : current;
140
+ if (held && actualRank(held) > actualRank(patch)) {
141
+ entry.costUsd = held.costUsd;
142
+ entry.basis = held.basis;
143
+ entry.rateSource = held.rateSource;
144
+ entry.actualBasis = held.actualBasis;
145
+ entry.listUsd = held.listUsd;
146
+ }
147
+ else if (!patch.actualBasis && actualRank(patch) > actualRank(held)) {
148
+ entry.actualBasis = null;
63
149
  }
64
150
  validate(entry);
65
- if (external && byId && byId.id !== external.id)
66
- context.store.db.prepare("DELETE FROM runtime_usage WHERE id=?").run(byId.id);
151
+ if (absorbed)
152
+ context.store.db.prepare("DELETE FROM runtime_usage WHERE id=?").run(absorbed.id);
67
153
  context.store.db.prepare(`INSERT INTO runtime_usage
68
- (id, provider, external_id, activity, model, status, basis, input_tokens, output_tokens, cached_tokens, token_based, cost_nanos, body_json, created_at, updated_at)
69
- VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
154
+ (id, provider, external_id, activity, model, status, basis, input_tokens, output_tokens, cached_tokens, token_based, cost_nanos, estimate_nanos, actual_basis, run_id, cell_id, job_id, body_json, created_at, updated_at)
155
+ VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
70
156
  ON CONFLICT(id) DO UPDATE SET external_id=excluded.external_id, status=excluded.status,
71
157
  basis=excluded.basis, input_tokens=excluded.input_tokens, output_tokens=excluded.output_tokens,
72
158
  cached_tokens=excluded.cached_tokens, token_based=excluded.token_based, cost_nanos=excluded.cost_nanos,
159
+ estimate_nanos=excluded.estimate_nanos, actual_basis=excluded.actual_basis, run_id=excluded.run_id, cell_id=excluded.cell_id, job_id=excluded.job_id,
73
160
  body_json=excluded.body_json, updated_at=excluded.updated_at`)
74
- .run(entry.id, entry.provider, entry.externalId, entry.activity, entry.model, entry.status, entry.basis, entry.inputTokens, entry.outputTokens, entry.cachedTokens, entry.tokenBased ? 1 : 0, entry.costUsd === null ? null : Math.round(entry.costUsd * 1e9), canonicalJson(entry), entry.createdAt, now);
161
+ .run(entry.id, entry.provider, entry.externalId, entry.activity, entry.model, entry.status, entry.basis, entry.inputTokens, entry.outputTokens, entry.cachedTokens, entry.tokenBased ? 1 : 0, entry.costUsd === null ? null : Math.round(entry.costUsd * 1e9), entry.estimateUsd === null ? null : Math.round(entry.estimateUsd * 1e9), entry.actualBasis, entry.runId, entry.cellId, entry.jobId, canonicalJson(entry), entry.createdAt, now);
75
162
  return entry;
76
163
  }));
77
164
  const summary = () => {
78
165
  const since = context.store.db.prepare("SELECT value_json FROM runtime_meta WHERE key='usage_started_at'").get();
79
- const rows = context.store.db.prepare(`SELECT activity, provider, model, COUNT(*) AS count,
80
- COALESCE(SUM(input_tokens), 0) AS inputTokens, COALESCE(SUM(output_tokens), 0) AS outputTokens,
81
- COALESCE(SUM(cached_tokens), 0) AS cachedTokens,
82
- SUM(CASE WHEN token_based=1 AND status<>'pending' AND (input_tokens IS NULL OR output_tokens IS NULL) THEN 1 ELSE 0 END) AS missingTokens,
83
- SUM(CASE WHEN status<>'pending' AND basis='reported' THEN COALESCE(cost_nanos, 0) ELSE 0 END) AS reportedNanos,
84
- SUM(CASE WHEN status<>'pending' AND (status='completed' OR input_tokens IS NOT NULL OR output_tokens IS NOT NULL) AND basis='estimated' THEN COALESCE(cost_nanos, 0) ELSE 0 END) AS estimatedNanos,
85
- SUM(CASE WHEN status<>'pending' AND (cost_nanos IS NULL OR (status<>'completed' AND input_tokens IS NULL AND output_tokens IS NULL AND basis='estimated')) THEN 1 ELSE 0 END) AS unpriced,
86
- SUM(CASE WHEN status='pending' THEN 1 ELSE 0 END) AS pendingCount,
87
- SUM(CASE WHEN status='pending' THEN COALESCE(cost_nanos, 0) ELSE 0 END) AS pendingNanos
166
+ const rows = context.store.db.prepare(`SELECT activity, provider, model, ${totalsColumns}
88
167
  FROM runtime_usage GROUP BY activity, provider, model ORDER BY activity, provider, model`).all();
89
168
  const groups = rows.map(({ reportedNanos, estimatedNanos, pendingNanos, ...row }) => ({
90
169
  ...row, reportedUsd: reportedNanos / 1e9, estimatedUsd: estimatedNanos / 1e9, pendingUsd: pendingNanos / 1e9,
@@ -96,6 +175,25 @@ export function createUsageApi(context) {
96
175
  }
97
176
  return { trackedSince: Number(since.value_json), currency: "USD", totals, groups };
98
177
  };
178
+ const rollup = (filter = {}) => {
179
+ const terms = [];
180
+ const params = [];
181
+ for (const [key, value] of Object.entries(filter)) {
182
+ const column = rollupColumns.get(key);
183
+ if (!column || !validText(value))
184
+ invalid(`Invalid usage rollup filter ${key}`);
185
+ terms.push(`${column}=?`);
186
+ params.push(value);
187
+ }
188
+ const groups = (column) => {
189
+ const rows = context.store.db.prepare(`SELECT ${column} AS id, ${rollupTotalsColumns} FROM runtime_usage
190
+ WHERE ${[...terms, `${column} IS NOT NULL`].join(" AND ")} GROUP BY ${column} ORDER BY ${column}`).all(...params);
191
+ return rows.map(toRollupTotals);
192
+ };
193
+ const totals = context.store.db.prepare(`SELECT ${rollupTotalsColumns} FROM runtime_usage
194
+ ${terms.length > 0 ? `WHERE ${terms.join(" AND ")}` : ""}`).get(...params);
195
+ return { currency: "USD", totals: toRollupTotals(totals), runs: groups("run_id"), cells: groups("cell_id"), jobs: groups("job_id") };
196
+ };
99
197
  const recent = (limit = 20) => {
100
198
  if (!Number.isInteger(limit) || limit < 1 || limit > 200)
101
199
  invalid("Usage limit must be between 1 and 200");
@@ -108,6 +206,6 @@ export function createUsageApi(context) {
108
206
  if (entry)
109
207
  record({ ...entry, status: "uncertain", basis: "unknown", warnings: ["Provider outcome unavailable after restart"] });
110
208
  }
111
- return { record, read, find, summary, recent };
209
+ return { record, read, find, summary, rollup, recent };
112
210
  }
113
211
  //# sourceMappingURL=usage.js.map
package/dist/usage.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"usage.js","sourceRoot":"","sources":["../src/usage.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"usage.js","sourceRoot":"","sources":["../src/usage.ts"],"names":[],"mappings":"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"}
@@ -467,6 +467,7 @@ never be staged. They coordinate work or cache derivable data.
467
467
  | `runtime_generation_errors` | `artifact_id TEXT`<br>`message TEXT`<br>`fail_code TEXT?`<br>`prompt TEXT?`<br>`failed_at INTEGER` | `artifact_id PK`. Latest local generation failure per artifact. |
468
468
  | `runtime_settings` | `key TEXT`<br>`value_json TEXT`<br>`updated_at INTEGER` | `key PK`. Local preferences such as viewer orientation. |
469
469
  | `runtime_logs` | `id INTEGER AUTOINCREMENT`<br>`name TEXT`<br>`body_json TEXT`<br>`created_at INTEGER` | `id PK`. Structured local logs. |
470
+ | `runtime_usage` | `id TEXT`<br>`provider TEXT`<br>`external_id TEXT?`<br>`activity TEXT`<br>`model TEXT`<br>`status TEXT`<br>`basis TEXT`<br>`input_tokens BIGINT?`<br>`output_tokens BIGINT?`<br>`cached_tokens BIGINT?`<br>`token_based INTEGER`<br>`cost_nanos BIGINT?`<br>`body_json TEXT`<br>`created_at BIGINT`<br>`updated_at BIGINT`<br>`estimate_nanos BIGINT?`<br>`actual_basis TEXT?`<br>`run_id TEXT?`<br>`cell_id TEXT?`<br>`job_id TEXT?` | `id PK`; `(provider, external_id) UQ`. One row per provider call; see [Usage ledger](#usage-ledger). |
470
471
  | `runtime_commit_outbox` | `operation_id TEXT`<br>`tables_json TEXT`<br>`message TEXT`<br>`created_at INTEGER` | `operation_id PK`. Crash-recovery bridge between a committed SQL mutation and its Dolt commit. |
471
472
 
472
473
  ### Similarity and search caches
@@ -489,6 +490,11 @@ never be staged. They coordinate work or cache derivable data.
489
490
  | `runtime_resource_artifact` | `runtime_resource_leases(artifact_id, revoked_at)` |
490
491
  | `runtime_pending_external` | `UNIQUE runtime_pending_tasks(task_id)` |
491
492
  | `runtime_logs_lookup` | `runtime_logs(name, created_at)` |
493
+ | `runtime_usage_external` | `UNIQUE runtime_usage(provider, external_id)` |
494
+ | `runtime_usage_recent` | `runtime_usage(created_at, id)` |
495
+ | `runtime_usage_run` | `runtime_usage(run_id)` |
496
+ | `runtime_usage_cell` | `runtime_usage(cell_id)` |
497
+ | `runtime_usage_job` | `runtime_usage(job_id)` |
492
498
  | `runtime_similarity_kind` | `runtime_similarity_embeddings(kind, embedding_space, updated_at)` |
493
499
  | `runtime_similarity_object` | `runtime_similarity_embeddings(object_hash, embedding_space)` |
494
500
  | `runtime_text_similarity_lookup` | `runtime_text_similarity_documents(embedding_space, updated_at)` |
@@ -497,6 +503,66 @@ never be staged. They coordinate work or cache derivable data.
497
503
  | `runtime_text_similarity_chunk_lookup` | `runtime_text_similarity_chunks(embedding_space, document_id, chunk_index)` |
498
504
  | `runtime_text_similarity_chunk_document` | `runtime_text_similarity_chunks(document_id, chunk_index)` |
499
505
 
506
+ ### Usage ledger
507
+
508
+ `engine.usage` keeps one row per provider call. `body_json` holds the whole
509
+ entry; the other columns exist to look rows up and sum them. The engine stores
510
+ figures and holds no rates: every price comes from the caller, through
511
+ `@apicity/cost`.
512
+
513
+ A row keeps its estimate and its actual side by side.
514
+
515
+ | Fields | Meaning | When a later `record()` patches the row |
516
+ | --- | --- | --- |
517
+ | `estimateUsd`, `estimateSource`, `estimateRateAsOf` | The quote before the call | The first estimate stays, with its source and date. Zero counts as set. |
518
+ | `costUsd`, `basis`, `rateSource`, `actualBasis`, `listUsd` | What the call cost and how that is known: `CostActual.basis` and `statedListUsd` | These move together when a figure is replaced. A stated figure beats a derived one, which beats anything else, so a weaker patch leaves all five alone. An equal or stronger figure replaces them, so a newer `reported` cost replaces an older one. |
519
+ | `cacheWriteTokens` | Tokens written to a provider cache | The latest non-null value wins. The engine does not check it against `inputTokens`. |
520
+ | `notebookId`, `cellId`, `jobId`, `runId` | Who made the call | The first value stays. A patch can fill a null, but cannot move or clear it. |
521
+
522
+ A null or undefined in a patch means "nothing new" for all of these. A patch that
523
+ spreads a row it read earlier is held to the same rules, so a stale snapshot cannot
524
+ put a quote back over a stated or derived cost. A `stated` or `derived` label with
525
+ no cost behind it is stored as null. When a write with an external ID merges two
526
+ rows, the merged row keeps the estimate, attribution and stronger actual of the row
527
+ it absorbs. A pending write cannot move a settled row: with no row to absorb it
528
+ changes nothing, and with one it only fills in the quote and attribution.
529
+
530
+ `cellId`, `runId` and `jobId` are caller-chosen strings that mean something only
531
+ within one book. The queue's numeric job ID restarts in each book, so use
532
+ `operationId`, and clear attribution when copying a row into another book.
533
+
534
+ `engine.usage.rollup(filter?)` sums rows for a run, a cell, a job, any
535
+ combination, or the whole book. `totals` uses the rules of `UsageTotals`, and
536
+ `runs`, `cells` and `jobs` break the same rows down by non-null ID, so a call with
537
+ no cell counts toward the book only. It adds:
538
+
539
+ | Field | Sum |
540
+ | --- | --- |
541
+ | `actualUsd` | Known actual: `reported` costs, and `estimated` costs labelled `stated` or `derived`. Pending rows are excluded. |
542
+ | `estimateUsd` | The quoted `estimateUsd` of every row. |
543
+ | `settledEstimateUsd` | The quotes of the rows behind `actualUsd`, plus free rows. Compare this with `actualUsd`. |
544
+ | `pendingEstimateUsd` | The quoted `estimateUsd` of pending rows. |
545
+ | `unsettled` | Rows with no settled actual: pending, uncertain, unpriced, or holding only a quote. A total is partial while this is above zero. |
546
+ | `unestimated` | Rows with no quote. An estimate total understates while this is above zero. |
547
+
548
+ A row that completes with only its quote in `costUsd` is not an actual. `estimatedUsd`
549
+ still counts it, as it always has, but `actualUsd` does not, and it stays in
550
+ `unsettled` until a stated or derived figure arrives. A row with no `actualBasis` on the
551
+ `estimated` basis counts as actual only with token counts, because older rows have
552
+ no label and only usage can have put tokens behind a figure.
553
+
554
+ `estimatedUsd` keeps its `UsageTotals` meaning, a cost on the `estimated` basis, so
555
+ `reportedUsd + estimatedUsd` stays the charge total everywhere. The quote total is
556
+ `estimateUsd`, with no `d`. `pendingUsd` and `pendingEstimateUsd` can describe the
557
+ same quote when a pending row holds it in both `costUsd` and `estimateUsd`, so do
558
+ not add them. A filter key that is present must hold a valid ID:
559
+ `{ runId: undefined }` throws, rather than widening to the whole book.
560
+
561
+ The added columns reach every catalog at open by `ALTER TABLE`, without a schema
562
+ version bump or a Dolt commit, because runtime tables are never versioned. Rows
563
+ written before them keep their stored bytes and read back with nulls. Engine 5.7.1
564
+ can still open an upgraded catalog and leaves the added columns as they are.
565
+
500
566
  ## Revision and recovery structures
501
567
 
502
568
  A semantic mutation crosses two atomicity domains and uses the runtime outbox
@@ -9,6 +9,97 @@ This is an assessment of the requirements in
9
9
  Beads contains the work assignments and current status; this report records
10
10
  the evidence and its limits at these revisions.
11
11
 
12
+ ## November 4 usage row fix (5.8.1)
13
+
14
+ Engine 5.8.1 fixes a usage bug that left one provider task with two rows. A pending
15
+ write whose external ID already belonged to a settled row returned early, so its own
16
+ row stayed, and rollups showed an extra count and an unsettled row. It only happens
17
+ if a resubmit returns an existing task ID. The settled row now absorbs that row. See
18
+ the [usage ledger](engine-layout.md#usage-ledger).
19
+
20
+ The fix stops new stray rows but does not remove existing ones. In a run where the
21
+ registry 5.8.0 package wrote the stray row and this build opened that catalog, the
22
+ row turned `uncertain` at open and stayed through a reopen, so the rollup kept count
23
+ 2, `unsettled` 1 and `unpriced` 1. It went away only when the same resubmit arrived
24
+ again. The same sequence on a catalog this build wrote from the start leaves one row.
25
+
26
+ The release also documents that a catalog needs
27
+ [one owning process](semantic-durability.md#one-owning-process) while it writes. That
28
+ change is documentation only. The public API and schema 28 are unchanged.
29
+
30
+ Base commit `1344761` passes
31
+ [Node 22/24 CI](https://github.com/justintanner/videobook-engine/actions/runs/41794838246).
32
+ Locally on Node 24, typecheck, lint and build pass, and the functional suite passes
33
+ 501 tests with 12 optional skips.
34
+
35
+ Three local checks did not pass in the full run on the shared worker, at a load of
36
+ 18 to 30 on 12 cores, and all three pass in that CI run with their limits unchanged:
37
+
38
+ - The large v4 catalog migration test hit its 60-second limit, and the tagged
39
+ temporal search cutoff test hit its 30-second limit. Run alone, their files pass:
40
+ 19 of 19 and 16 of 16.
41
+ - The 1,000-clip edit budget failed, with a commit taking 1,667 ms against its limit
42
+ of 1,000 ms, as it did on the shared worker for 5.8.0. This run did not repeat that
43
+ baseline comparison.
44
+
45
+ ## November 4 usage estimates and rollups (5.8.0)
46
+
47
+ Engine 5.8.0 adds the quote, actual-basis and attribution fields to `UsageEntry`
48
+ and the `engine.usage.rollup` summary, for the cost work in apicity epic
49
+ `ac-0lt830`. See the [usage ledger](engine-layout.md#usage-ledger). The public API
50
+ change is additive. Schema 28 is unchanged: `runtime_usage` gains its columns and
51
+ indexes at open, with no Dolt commit. The engine holds no price tables.
52
+
53
+ It also moves `node-gyp` from 12.1.0 to 12.4.0. Advisories published October 30
54
+ ([GHSA-3g3m-2fjr-6pw4](https://github.com/advisories/GHSA-3g3m-2fjr-6pw4) and
55
+ [GHSA-g3hv-75wg-m249](https://github.com/advisories/GHSA-g3hv-75wg-m249)) reach
56
+ 12.1.0 through make-fetch-happen, cacache, glob and minimatch, so a clean install
57
+ of the published 5.7.1 audits with six moderate findings and the package gate
58
+ fails. 12.4.0 removes that path and keeps the same Node range. DoltLite's
59
+ source-build fallback builds and loads with 12.4.0 on Linux x64.
60
+
61
+ Implementation commit `7019ac0` passes
62
+ [Node 22/24 CI](https://github.com/justintanner/videobook-engine/actions/runs/41785543323),
63
+ including the clean-package install and its zero-vulnerability runtime audit.
64
+ Locally on Node 24, typecheck, lint and build pass, and the functional suite passes
65
+ 499 tests with 12 optional skips.
66
+
67
+ Three further checks go beyond the suite:
68
+
69
+ - The registry 5.7.1 package and this build took turns on one catalog. Rows written
70
+ by 5.7.1 read back with null new fields and keep their stored bytes, the upgrade
71
+ adds no commit, and 5.7.1 reopens the upgraded catalog and keeps writing to it.
72
+ - Consumer `c9983c05` passes its 36 usage tests and three TypeScript projects
73
+ against this build. Its Playwright end-to-end usage test was not run.
74
+ - 48 deliberate faults in the new code each fail at least one usage test.
75
+
76
+ One local check did not pass. The 1,000-clip edit budget fails on the shared worker,
77
+ at a load near 30 on 12 cores, on the unchanged `a65bc6b` as well as on this build:
78
+ six of six runs each. It passes in CI with its limits unchanged.
79
+
80
+ ### Publication
81
+
82
+ [`videobook-engine@5.8.0`](https://www.npmjs.com/package/videobook-engine/v/5.8.0)
83
+ is published as npm `latest` from source
84
+ `c8b7e7dd75c99809648e612d5550a5abb1e49941`, tagged `v5.8.0`.
85
+ [Node 22/24 CI](https://github.com/justintanner/videobook-engine/actions/runs/41786460479)
86
+ passes for that exact source, including the edit budget above.
87
+
88
+ The registry archive is byte-identical to the tested package: 2,581,348 bytes,
89
+ SHA256 `f02cd9a582adf31f17a1466927cefbf431fad55a4fa3bd66636f9ddc6cb5bc79`, npm
90
+ integrity
91
+ `sha512-T95c4LdWdgwaqv1jrDnh/qn63jJ3dx0G2aTjA9/pEdzuRa84VwsQ16xBYIxMXgFQhhSV/V6p9mmHNTPUizf3+A==`.
92
+ A clean public registry install with no token in the environment passes ZIP
93
+ security, browser exports, tags and reopen, remote checksums, README usage, the
94
+ full-catalog, runtime, index and job-ID probes, media decode and a
95
+ zero-vulnerability runtime audit. This check does not run the optional cached
96
+ CLIP/CLAP inference tests.
97
+
98
+ npm 12 accepts a publish and processes it afterwards: this version took about
99
+ three minutes to appear. Fetching the archive URL before then caches a 404 on the
100
+ registry's CDN for five minutes, which also failed `npm pack` from an empty cache
101
+ until it expired. Wait for `npm view` to show the version before fetching it.
102
+
12
103
  ## October 20 DoltLite 0.51.1 upgrade
13
104
 
14
105
  Engine 5.7.1 upgrades the exact official DoltLite dependency and install policy
@@ -53,3 +53,34 @@ and consumer archive switching have separate process-interruption fixtures.
53
53
  The optional `semanticCommitBoundary` callback is a diagnostic fault-injection
54
54
  hook; normal consumers should omit it. `after-table-stage` may occur several
55
55
  times for one operation, and recovery can invoke callbacks during engine open.
56
+
57
+ ## One owning process
58
+
59
+ A catalog needs one owning process while it writes. A semantic write commits in
60
+ two steps, and an outbox entry does not record who owns it, so reopening cannot
61
+ tell a crashed writer from a live one between those steps. A second process that
62
+ opens the catalog replays the live writer's entry, and the two race for the Dolt
63
+ commit.
64
+
65
+ With one process writing in a loop and another opening the catalog:
66
+
67
+ - The open often throws. About four in five opens threw when they overlapped a
68
+ stream of commits, and about one in six when both processes started together.
69
+ - The owner's write can return `IO_ERROR` with `nothing to commit, working tree
70
+ clean` or `cannot commit: database is busy or branch HEAD changed`, even though
71
+ the write committed. A second process that commits while the writer is between
72
+ staging and its own Dolt commit causes this every time. Every write reported as
73
+ failed was present afterwards with one commit of its own, so retrying one
74
+ creates a duplicate.
75
+ - Nothing is lost. After every run the worktree was clean, the outbox was empty,
76
+ each row had exactly one commit and a plain open succeeded.
77
+
78
+ Engine 5.7.1 behaves the same way. The rates depend on timing, so treat them as
79
+ indicative.
80
+
81
+ Consumers must keep a second process away from a catalog that is being written.
82
+ Videobook does this with a per-library server lock, taken before any catalog
83
+ opens. Its other commands relay to the lock holder, refuse to run, or do not open
84
+ a catalog. Sharing a catalog between live processes would need outbox entries that
85
+ record their owner, and a commit step that treats an operation someone else
86
+ already committed as a success.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "videobook-engine",
3
- "version": "5.7.1",
3
+ "version": "5.8.1",
4
4
  "description": "Dolt-native local-first storage engine for Videobook",
5
5
  "type": "module",
6
6
  "exports": {
@@ -73,7 +73,7 @@
73
73
  },
74
74
  "dependencies": {
75
75
  "@dolthub/doltlite": "0.51.1",
76
- "node-gyp": "12.1.0",
76
+ "node-gyp": "12.4.0",
77
77
  "sharp": "0.35.5",
78
78
  "usearch": "2.26.0",
79
79
  "uuid": "^14.0.0",