@musnows/scriverse 0.5.1 → 0.5.3

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/database.js CHANGED
@@ -443,6 +443,7 @@ export class Database {
443
443
  CREATE TABLE IF NOT EXISTS analysis_tasks (
444
444
  id TEXT PRIMARY KEY,
445
445
  work_id TEXT NOT NULL REFERENCES works(id) ON DELETE CASCADE,
446
+ model_id TEXT REFERENCES models(id) ON DELETE SET NULL,
446
447
  task_type TEXT NOT NULL,
447
448
  scope_json TEXT NOT NULL DEFAULT '{}',
448
449
  status TEXT NOT NULL DEFAULT 'pending',
@@ -459,6 +460,7 @@ export class Database {
459
460
  task_id TEXT NOT NULL REFERENCES analysis_tasks(id) ON DELETE CASCADE,
460
461
  initial_messages_json TEXT NOT NULL DEFAULT '[]' CHECK(json_valid(initial_messages_json) AND json_type(initial_messages_json) = 'array'),
461
462
  rounds_json TEXT NOT NULL DEFAULT '[]' CHECK(json_valid(rounds_json) AND json_type(rounds_json) = 'array'),
463
+ source_refs_json TEXT NOT NULL DEFAULT '[]' CHECK(json_valid(source_refs_json) AND json_type(source_refs_json) = 'array'),
462
464
  created_at TEXT NOT NULL,
463
465
  updated_at TEXT NOT NULL
464
466
  );
@@ -1611,6 +1613,7 @@ export class Database {
1611
1613
  task_id TEXT NOT NULL REFERENCES analysis_tasks(id) ON DELETE CASCADE,
1612
1614
  initial_messages_json TEXT NOT NULL DEFAULT '[]' CHECK(json_valid(initial_messages_json) AND json_type(initial_messages_json) = 'array'),
1613
1615
  rounds_json TEXT NOT NULL DEFAULT '[]' CHECK(json_valid(rounds_json) AND json_type(rounds_json) = 'array'),
1616
+ source_refs_json TEXT NOT NULL DEFAULT '[]' CHECK(json_valid(source_refs_json) AND json_type(source_refs_json) = 'array'),
1614
1617
  created_at TEXT NOT NULL,
1615
1618
  updated_at TEXT NOT NULL
1616
1619
  )`);
@@ -1644,6 +1647,343 @@ export class Database {
1644
1647
  if (foreignKeys.length > 0)
1645
1648
  throw new Error(`数据库外键检查失败:发现 ${foreignKeys.length} 条异常记录`);
1646
1649
  }
1650
+ if (!applied.has(43)) {
1651
+ this.transaction(() => {
1652
+ const columns = new Set(this.all("PRAGMA table_info(ai_call_traces)").map((row) => String(row.name)));
1653
+ if (!columns.has("source_refs_json")) {
1654
+ this.run(`ALTER TABLE ai_call_traces ADD COLUMN source_refs_json TEXT NOT NULL DEFAULT '[]'
1655
+ CHECK(json_valid(source_refs_json) AND json_type(source_refs_json) = 'array')`);
1656
+ }
1657
+ this.run("INSERT INTO schema_migrations (version, applied_at) VALUES (43, ?)", new Date().toISOString());
1658
+ });
1659
+ const integrity = this.all("PRAGMA integrity_check");
1660
+ if (integrity.some((row) => row.integrity_check !== "ok")) {
1661
+ throw new Error(`数据库完整性检查失败:${integrity.map((row) => row.integrity_check).join(";")}`);
1662
+ }
1663
+ const foreignKeys = this.all("PRAGMA foreign_key_check");
1664
+ if (foreignKeys.length > 0)
1665
+ throw new Error(`数据库外键检查失败:发现 ${foreignKeys.length} 条异常记录`);
1666
+ }
1667
+ if (!applied.has(44)) {
1668
+ this.transaction(() => {
1669
+ const columns = new Set(this.all("PRAGMA table_info(analysis_tasks)").map((row) => String(row.name)));
1670
+ if (!columns.has("model_id")) {
1671
+ this.run("ALTER TABLE analysis_tasks ADD COLUMN model_id TEXT REFERENCES models(id) ON DELETE SET NULL");
1672
+ }
1673
+ this.run("CREATE INDEX IF NOT EXISTS idx_tasks_model ON analysis_tasks(model_id, status)");
1674
+ this.run("INSERT INTO schema_migrations (version, applied_at) VALUES (44, ?)", new Date().toISOString());
1675
+ });
1676
+ const integrity = this.all("PRAGMA integrity_check");
1677
+ if (integrity.some((row) => row.integrity_check !== "ok")) {
1678
+ throw new Error(`数据库完整性检查失败:${integrity.map((row) => row.integrity_check).join(";")}`);
1679
+ }
1680
+ const foreignKeys = this.all("PRAGMA foreign_key_check");
1681
+ if (foreignKeys.length > 0)
1682
+ throw new Error(`数据库外键检查失败:发现 ${foreignKeys.length} 条异常记录`);
1683
+ }
1684
+ if (!applied.has(45)) {
1685
+ this.transaction(() => {
1686
+ const reviewColumns = new Set(this.all("PRAGMA table_info(review_items)").map((row) => String(row.name)));
1687
+ if (!reviewColumns.has("dedupe_key")) {
1688
+ this.run("ALTER TABLE review_items ADD COLUMN dedupe_key TEXT NOT NULL DEFAULT ''");
1689
+ }
1690
+ this.raw.exec(`
1691
+ CREATE UNIQUE INDEX IF NOT EXISTS idx_review_items_dedupe
1692
+ ON review_items(work_id, item_type, dedupe_key) WHERE dedupe_key <> '';
1693
+
1694
+ CREATE VIRTUAL TABLE IF NOT EXISTS chapter_paragraph_pinyin_fts USING fts5(
1695
+ pinyin_tokens,
1696
+ content='',
1697
+ contentless_delete=1,
1698
+ tokenize='unicode61'
1699
+ );
1700
+ CREATE TRIGGER IF NOT EXISTS chapter_paragraph_pinyin_ad AFTER DELETE ON chapter_paragraph_search BEGIN
1701
+ DELETE FROM chapter_paragraph_pinyin_fts WHERE rowid = old.id;
1702
+ END;
1703
+
1704
+ CREATE TABLE IF NOT EXISTS relationship_source_search (
1705
+ id INTEGER PRIMARY KEY,
1706
+ work_id TEXT NOT NULL REFERENCES works(id) ON DELETE CASCADE,
1707
+ source_type TEXT NOT NULL,
1708
+ source_id TEXT NOT NULL,
1709
+ source_version TEXT NOT NULL DEFAULT '',
1710
+ content_hash TEXT NOT NULL DEFAULT '',
1711
+ updated_at TEXT NOT NULL,
1712
+ UNIQUE(work_id, source_type, source_id)
1713
+ );
1714
+ CREATE INDEX IF NOT EXISTS idx_relationship_source_search_work
1715
+ ON relationship_source_search(work_id, source_type, source_id);
1716
+ CREATE VIRTUAL TABLE IF NOT EXISTS relationship_source_exact_fts USING fts5(
1717
+ character_tokens,
1718
+ content='',
1719
+ contentless_delete=1,
1720
+ tokenize='unicode61'
1721
+ );
1722
+ CREATE VIRTUAL TABLE IF NOT EXISTS relationship_source_pinyin_fts USING fts5(
1723
+ pinyin_tokens,
1724
+ content='',
1725
+ contentless_delete=1,
1726
+ tokenize='unicode61'
1727
+ );
1728
+ CREATE TRIGGER IF NOT EXISTS relationship_source_search_ad AFTER DELETE ON relationship_source_search BEGIN
1729
+ DELETE FROM relationship_source_exact_fts WHERE rowid = old.id;
1730
+ DELETE FROM relationship_source_pinyin_fts WHERE rowid = old.id;
1731
+ END;
1732
+
1733
+ CREATE TABLE IF NOT EXISTS relationship_source_index_queue (
1734
+ work_id TEXT NOT NULL REFERENCES works(id) ON DELETE CASCADE,
1735
+ source_type TEXT NOT NULL,
1736
+ source_id TEXT NOT NULL,
1737
+ queued_at TEXT NOT NULL,
1738
+ PRIMARY KEY(work_id, source_type, source_id)
1739
+ ) WITHOUT ROWID;
1740
+ CREATE TABLE IF NOT EXISTS relationship_source_index_state (
1741
+ work_id TEXT PRIMARY KEY REFERENCES works(id) ON DELETE CASCADE,
1742
+ status TEXT NOT NULL DEFAULT 'queued' CHECK(status IN ('queued', 'building', 'ready', 'failed')),
1743
+ generation INTEGER NOT NULL DEFAULT 0,
1744
+ error TEXT NOT NULL DEFAULT '',
1745
+ updated_at TEXT NOT NULL
1746
+ ) WITHOUT ROWID;
1747
+ `);
1748
+ const queueSources = [
1749
+ { table: "works", sourceType: "work", idColumn: "id" },
1750
+ { table: "chapters", sourceType: "chapter", idColumn: "id" },
1751
+ { table: "settings", sourceType: "setting", idColumn: "id" },
1752
+ { table: "characters", sourceType: "character", idColumn: "id" },
1753
+ { table: "races", sourceType: "race", idColumn: "id" },
1754
+ { table: "organizations", sourceType: "organization", idColumn: "id" },
1755
+ { table: "timeline_tracks", sourceType: "timeline-track", idColumn: "id" },
1756
+ { table: "timeline_events", sourceType: "timeline-event", idColumn: "id" },
1757
+ { table: "relationships", sourceType: "relationship", idColumn: "id" },
1758
+ { table: "foreshadows", sourceType: "foreshadow", idColumn: "id" },
1759
+ { table: "review_items", sourceType: "review", idColumn: "id" }
1760
+ ];
1761
+ for (const source of queueSources) {
1762
+ const workExpression = source.table === "works" ? "new.id" : "new.work_id";
1763
+ const oldWorkExpression = source.table === "works" ? "old.id" : "old.work_id";
1764
+ this.raw.exec(`
1765
+ CREATE TRIGGER IF NOT EXISTS relationship_index_${source.table}_ai AFTER INSERT ON ${source.table} BEGIN
1766
+ INSERT INTO relationship_source_index_queue(work_id, source_type, source_id, queued_at)
1767
+ VALUES (${workExpression}, '${source.sourceType}', new.${source.idColumn}, datetime('now'))
1768
+ ON CONFLICT(work_id, source_type, source_id) DO UPDATE SET queued_at = excluded.queued_at;
1769
+ END;
1770
+ CREATE TRIGGER IF NOT EXISTS relationship_index_${source.table}_au AFTER UPDATE ON ${source.table} BEGIN
1771
+ INSERT INTO relationship_source_index_queue(work_id, source_type, source_id, queued_at)
1772
+ VALUES (${workExpression}, '${source.sourceType}', new.${source.idColumn}, datetime('now'))
1773
+ ON CONFLICT(work_id, source_type, source_id) DO UPDATE SET queued_at = excluded.queued_at;
1774
+ END;
1775
+ CREATE TRIGGER IF NOT EXISTS relationship_index_${source.table}_bd BEFORE DELETE ON ${source.table} BEGIN
1776
+ INSERT INTO relationship_source_index_queue(work_id, source_type, source_id, queued_at)
1777
+ VALUES (${oldWorkExpression}, '${source.sourceType}', old.${source.idColumn}, datetime('now'))
1778
+ ON CONFLICT(work_id, source_type, source_id) DO UPDATE SET queued_at = excluded.queued_at;
1779
+ END;
1780
+ `);
1781
+ }
1782
+ this.raw.exec(`
1783
+ CREATE TRIGGER IF NOT EXISTS relationship_index_outlines_ai AFTER INSERT ON chapter_outlines BEGIN
1784
+ INSERT INTO relationship_source_index_queue(work_id, source_type, source_id, queued_at)
1785
+ SELECT work_id, 'chapter-outline', new.chapter_id, datetime('now') FROM chapters WHERE id = new.chapter_id
1786
+ ON CONFLICT(work_id, source_type, source_id) DO UPDATE SET queued_at = excluded.queued_at;
1787
+ END;
1788
+ CREATE TRIGGER IF NOT EXISTS relationship_index_outlines_au AFTER UPDATE ON chapter_outlines BEGIN
1789
+ INSERT INTO relationship_source_index_queue(work_id, source_type, source_id, queued_at)
1790
+ SELECT work_id, 'chapter-outline', new.chapter_id, datetime('now') FROM chapters WHERE id = new.chapter_id
1791
+ ON CONFLICT(work_id, source_type, source_id) DO UPDATE SET queued_at = excluded.queued_at;
1792
+ END;
1793
+ CREATE TRIGGER IF NOT EXISTS relationship_index_outlines_bd BEFORE DELETE ON chapter_outlines BEGIN
1794
+ INSERT INTO relationship_source_index_queue(work_id, source_type, source_id, queued_at)
1795
+ SELECT work_id, 'chapter-outline', old.chapter_id, datetime('now') FROM chapters WHERE id = old.chapter_id
1796
+ ON CONFLICT(work_id, source_type, source_id) DO UPDATE SET queued_at = excluded.queued_at;
1797
+ END;
1798
+ CREATE TRIGGER IF NOT EXISTS relationship_index_sections_ai AFTER INSERT ON character_profile_sections BEGIN
1799
+ INSERT INTO relationship_source_index_queue(work_id, source_type, source_id, queued_at)
1800
+ VALUES (new.work_id, 'character', new.character_id, datetime('now'))
1801
+ ON CONFLICT(work_id, source_type, source_id) DO UPDATE SET queued_at = excluded.queued_at;
1802
+ END;
1803
+ CREATE TRIGGER IF NOT EXISTS relationship_index_sections_au AFTER UPDATE ON character_profile_sections BEGIN
1804
+ INSERT INTO relationship_source_index_queue(work_id, source_type, source_id, queued_at)
1805
+ VALUES (new.work_id, 'character', new.character_id, datetime('now'))
1806
+ ON CONFLICT(work_id, source_type, source_id) DO UPDATE SET queued_at = excluded.queued_at;
1807
+ END;
1808
+ CREATE TRIGGER IF NOT EXISTS relationship_index_sections_bd BEFORE DELETE ON character_profile_sections BEGIN
1809
+ INSERT INTO relationship_source_index_queue(work_id, source_type, source_id, queued_at)
1810
+ VALUES (old.work_id, 'character', old.character_id, datetime('now'))
1811
+ ON CONFLICT(work_id, source_type, source_id) DO UPDATE SET queued_at = excluded.queued_at;
1812
+ END;
1813
+ CREATE TRIGGER IF NOT EXISTS relationship_index_occurrences_ai AFTER INSERT ON foreshadow_occurrences BEGIN
1814
+ INSERT INTO relationship_source_index_queue(work_id, source_type, source_id, queued_at)
1815
+ SELECT foreshadow.work_id, 'foreshadow', new.foreshadow_id, datetime('now')
1816
+ FROM foreshadows foreshadow WHERE foreshadow.id = new.foreshadow_id
1817
+ ON CONFLICT(work_id, source_type, source_id) DO UPDATE SET queued_at = excluded.queued_at;
1818
+ END;
1819
+ CREATE TRIGGER IF NOT EXISTS relationship_index_occurrences_au AFTER UPDATE ON foreshadow_occurrences BEGIN
1820
+ INSERT INTO relationship_source_index_queue(work_id, source_type, source_id, queued_at)
1821
+ SELECT foreshadow.work_id, 'foreshadow', new.foreshadow_id, datetime('now')
1822
+ FROM foreshadows foreshadow WHERE foreshadow.id = new.foreshadow_id
1823
+ ON CONFLICT(work_id, source_type, source_id) DO UPDATE SET queued_at = excluded.queued_at;
1824
+ END;
1825
+ CREATE TRIGGER IF NOT EXISTS relationship_index_occurrences_bd BEFORE DELETE ON foreshadow_occurrences BEGIN
1826
+ INSERT INTO relationship_source_index_queue(work_id, source_type, source_id, queued_at)
1827
+ SELECT foreshadow.work_id, 'foreshadow', old.foreshadow_id, datetime('now')
1828
+ FROM foreshadows foreshadow WHERE foreshadow.id = old.foreshadow_id
1829
+ ON CONFLICT(work_id, source_type, source_id) DO UPDATE SET queued_at = excluded.queued_at;
1830
+ END;
1831
+ CREATE TRIGGER IF NOT EXISTS relationship_index_memberships_ai AFTER INSERT ON character_organization_memberships BEGIN
1832
+ INSERT INTO relationship_source_index_queue(work_id, source_type, source_id, queued_at)
1833
+ SELECT work_id, 'character', new.character_id, datetime('now') FROM characters WHERE id = new.character_id
1834
+ ON CONFLICT(work_id, source_type, source_id) DO UPDATE SET queued_at = excluded.queued_at;
1835
+ INSERT INTO relationship_source_index_queue(work_id, source_type, source_id, queued_at)
1836
+ SELECT work_id, 'organization', new.organization_id, datetime('now') FROM organizations WHERE id = new.organization_id
1837
+ ON CONFLICT(work_id, source_type, source_id) DO UPDATE SET queued_at = excluded.queued_at;
1838
+ END;
1839
+ CREATE TRIGGER IF NOT EXISTS relationship_index_memberships_au AFTER UPDATE ON character_organization_memberships BEGIN
1840
+ INSERT INTO relationship_source_index_queue(work_id, source_type, source_id, queued_at)
1841
+ SELECT work_id, 'character', new.character_id, datetime('now') FROM characters WHERE id = new.character_id
1842
+ ON CONFLICT(work_id, source_type, source_id) DO UPDATE SET queued_at = excluded.queued_at;
1843
+ INSERT INTO relationship_source_index_queue(work_id, source_type, source_id, queued_at)
1844
+ SELECT work_id, 'organization', new.organization_id, datetime('now') FROM organizations WHERE id = new.organization_id
1845
+ ON CONFLICT(work_id, source_type, source_id) DO UPDATE SET queued_at = excluded.queued_at;
1846
+ END;
1847
+ CREATE TRIGGER IF NOT EXISTS relationship_index_memberships_bd BEFORE DELETE ON character_organization_memberships BEGIN
1848
+ INSERT INTO relationship_source_index_queue(work_id, source_type, source_id, queued_at)
1849
+ SELECT work_id, 'character', old.character_id, datetime('now') FROM characters WHERE id = old.character_id
1850
+ ON CONFLICT(work_id, source_type, source_id) DO UPDATE SET queued_at = excluded.queued_at;
1851
+ INSERT INTO relationship_source_index_queue(work_id, source_type, source_id, queued_at)
1852
+ SELECT work_id, 'organization', old.organization_id, datetime('now') FROM organizations WHERE id = old.organization_id
1853
+ ON CONFLICT(work_id, source_type, source_id) DO UPDATE SET queued_at = excluded.queued_at;
1854
+ END;
1855
+ CREATE TRIGGER IF NOT EXISTS relationship_index_volume_dependencies_au AFTER UPDATE ON volumes BEGIN
1856
+ INSERT INTO relationship_source_index_queue(work_id, source_type, source_id, queued_at)
1857
+ SELECT chapter.work_id, 'chapter-outline', chapter.id, datetime('now')
1858
+ FROM chapters chapter JOIN chapter_outlines outline ON outline.chapter_id = chapter.id
1859
+ WHERE chapter.volume_id = new.id
1860
+ ON CONFLICT(work_id, source_type, source_id) DO UPDATE SET queued_at = excluded.queued_at;
1861
+ END;
1862
+ CREATE TRIGGER IF NOT EXISTS relationship_index_chapter_dependencies_au AFTER UPDATE ON chapters BEGIN
1863
+ INSERT INTO relationship_source_index_queue(work_id, source_type, source_id, queued_at)
1864
+ SELECT new.work_id, 'chapter-outline', new.id, datetime('now')
1865
+ WHERE EXISTS(SELECT 1 FROM chapter_outlines WHERE chapter_id = new.id)
1866
+ ON CONFLICT(work_id, source_type, source_id) DO UPDATE SET queued_at = excluded.queued_at;
1867
+ INSERT INTO relationship_source_index_queue(work_id, source_type, source_id, queued_at)
1868
+ SELECT foreshadow.work_id, 'foreshadow', foreshadow.id, datetime('now')
1869
+ FROM foreshadows foreshadow JOIN foreshadow_occurrences occurrence ON occurrence.foreshadow_id = foreshadow.id
1870
+ WHERE occurrence.chapter_id = new.id
1871
+ ON CONFLICT(work_id, source_type, source_id) DO UPDATE SET queued_at = excluded.queued_at;
1872
+ END;
1873
+ CREATE TRIGGER IF NOT EXISTS relationship_index_character_dependencies_au AFTER UPDATE ON characters BEGIN
1874
+ INSERT INTO relationship_source_index_queue(work_id, source_type, source_id, queued_at)
1875
+ SELECT organization.work_id, 'organization', organization.id, datetime('now')
1876
+ FROM organizations organization JOIN character_organization_memberships membership ON membership.organization_id = organization.id
1877
+ WHERE membership.character_id = new.id
1878
+ ON CONFLICT(work_id, source_type, source_id) DO UPDATE SET queued_at = excluded.queued_at;
1879
+ INSERT INTO relationship_source_index_queue(work_id, source_type, source_id, queued_at)
1880
+ SELECT race.work_id, 'race', race.id, datetime('now') FROM races race
1881
+ WHERE race.id IN (old.race_id, new.race_id)
1882
+ ON CONFLICT(work_id, source_type, source_id) DO UPDATE SET queued_at = excluded.queued_at;
1883
+ INSERT INTO relationship_source_index_queue(work_id, source_type, source_id, queued_at)
1884
+ SELECT event.work_id, 'timeline-event', event.id, datetime('now') FROM timeline_events event
1885
+ WHERE EXISTS(SELECT 1 FROM json_each(event.participant_ids_json) participant WHERE participant.value = new.id)
1886
+ ON CONFLICT(work_id, source_type, source_id) DO UPDATE SET queued_at = excluded.queued_at;
1887
+ INSERT INTO relationship_source_index_queue(work_id, source_type, source_id, queued_at)
1888
+ SELECT relation.work_id, 'relationship', relation.id, datetime('now') FROM relationships relation
1889
+ WHERE relation.from_character_id = new.id OR relation.to_character_id = new.id
1890
+ ON CONFLICT(work_id, source_type, source_id) DO UPDATE SET queued_at = excluded.queued_at;
1891
+ END;
1892
+ CREATE TRIGGER IF NOT EXISTS relationship_index_race_dependencies_au AFTER UPDATE ON races BEGIN
1893
+ INSERT INTO relationship_source_index_queue(work_id, source_type, source_id, queued_at)
1894
+ SELECT race.work_id, 'race', race.id, datetime('now') FROM races race
1895
+ WHERE race.id IN (
1896
+ WITH RECURSIVE descendants(id) AS (
1897
+ SELECT new.id
1898
+ UNION ALL
1899
+ SELECT child.id FROM races child JOIN descendants parent ON child.parent_race_id = parent.id
1900
+ )
1901
+ SELECT id FROM descendants
1902
+ )
1903
+ ON CONFLICT(work_id, source_type, source_id) DO UPDATE SET queued_at = excluded.queued_at;
1904
+ INSERT INTO relationship_source_index_queue(work_id, source_type, source_id, queued_at)
1905
+ SELECT character.work_id, 'character', character.id, datetime('now') FROM characters character
1906
+ WHERE character.race_id IN (
1907
+ WITH RECURSIVE descendants(id) AS (
1908
+ SELECT new.id
1909
+ UNION ALL
1910
+ SELECT child.id FROM races child JOIN descendants parent ON child.parent_race_id = parent.id
1911
+ )
1912
+ SELECT id FROM descendants
1913
+ )
1914
+ ON CONFLICT(work_id, source_type, source_id) DO UPDATE SET queued_at = excluded.queued_at;
1915
+ END;
1916
+ CREATE TRIGGER IF NOT EXISTS relationship_index_organization_dependencies_au AFTER UPDATE ON organizations BEGIN
1917
+ INSERT INTO relationship_source_index_queue(work_id, source_type, source_id, queued_at)
1918
+ SELECT character.work_id, 'character', character.id, datetime('now')
1919
+ FROM characters character JOIN character_organization_memberships membership ON membership.character_id = character.id
1920
+ WHERE membership.organization_id = new.id
1921
+ ON CONFLICT(work_id, source_type, source_id) DO UPDATE SET queued_at = excluded.queued_at;
1922
+ END;
1923
+ `);
1924
+ const timestamp = new Date().toISOString();
1925
+ for (const source of queueSources) {
1926
+ const workColumn = source.table === "works" ? "id" : "work_id";
1927
+ this.run(`INSERT INTO relationship_source_index_queue(work_id, source_type, source_id, queued_at)
1928
+ SELECT ${workColumn}, ?, ${source.idColumn}, ? FROM ${source.table}
1929
+ WHERE 1
1930
+ ON CONFLICT(work_id, source_type, source_id) DO UPDATE SET queued_at = excluded.queued_at`, source.sourceType, timestamp);
1931
+ }
1932
+ this.run(`INSERT INTO relationship_source_index_queue(work_id, source_type, source_id, queued_at)
1933
+ SELECT chapter.work_id, 'chapter-outline', outline.chapter_id, ?
1934
+ FROM chapter_outlines outline JOIN chapters chapter ON chapter.id = outline.chapter_id
1935
+ WHERE 1
1936
+ ON CONFLICT(work_id, source_type, source_id) DO UPDATE SET queued_at = excluded.queued_at`, timestamp);
1937
+ this.run(`INSERT INTO relationship_source_index_state(work_id, status, generation, error, updated_at)
1938
+ SELECT id, 'queued', 0, '', ? FROM works
1939
+ WHERE 1
1940
+ ON CONFLICT(work_id) DO UPDATE SET status = 'queued', error = '', updated_at = excluded.updated_at`, timestamp);
1941
+ this.run("INSERT INTO schema_migrations (version, applied_at) VALUES (45, ?)", timestamp);
1942
+ });
1943
+ const integrity = this.all("PRAGMA integrity_check");
1944
+ if (integrity.some((row) => row.integrity_check !== "ok")) {
1945
+ throw new Error(`数据库完整性检查失败:${integrity.map((row) => row.integrity_check).join(";")}`);
1946
+ }
1947
+ const foreignKeys = this.all("PRAGMA foreign_key_check");
1948
+ if (foreignKeys.length > 0)
1949
+ throw new Error(`数据库外键检查失败:发现 ${foreignKeys.length} 条异常记录`);
1950
+ }
1951
+ if (!applied.has(46)) {
1952
+ this.transaction(() => {
1953
+ this.raw.exec(`
1954
+ DROP TRIGGER IF EXISTS relationship_index_volume_dependencies_au;
1955
+ CREATE TRIGGER relationship_index_volume_dependencies_au AFTER UPDATE ON volumes BEGIN
1956
+ INSERT INTO relationship_source_index_queue(work_id, source_type, source_id, queued_at)
1957
+ SELECT chapter.work_id, 'chapter-outline', chapter.id, datetime('now')
1958
+ FROM chapters chapter JOIN chapter_outlines outline ON outline.chapter_id = chapter.id
1959
+ WHERE chapter.volume_id = new.id
1960
+ ON CONFLICT(work_id, source_type, source_id) DO UPDATE SET queued_at = excluded.queued_at;
1961
+ INSERT INTO relationship_source_index_queue(work_id, source_type, source_id, queued_at)
1962
+ SELECT DISTINCT foreshadow.work_id, 'foreshadow', foreshadow.id, datetime('now')
1963
+ FROM foreshadows foreshadow
1964
+ JOIN foreshadow_occurrences occurrence ON occurrence.foreshadow_id = foreshadow.id
1965
+ JOIN chapters chapter ON chapter.id = occurrence.chapter_id
1966
+ WHERE chapter.volume_id = new.id
1967
+ ON CONFLICT(work_id, source_type, source_id) DO UPDATE SET queued_at = excluded.queued_at;
1968
+ END;
1969
+ `);
1970
+ const timestamp = new Date().toISOString();
1971
+ this.run(`INSERT INTO relationship_source_index_queue(work_id, source_type, source_id, queued_at)
1972
+ SELECT work_id, 'foreshadow', id, ? FROM foreshadows
1973
+ WHERE 1
1974
+ ON CONFLICT(work_id, source_type, source_id) DO UPDATE SET queued_at = excluded.queued_at`, timestamp);
1975
+ this.run(`UPDATE relationship_source_index_state SET status = 'queued', error = '', updated_at = ?
1976
+ WHERE work_id IN (SELECT DISTINCT work_id FROM foreshadows)`, timestamp);
1977
+ this.run("INSERT INTO schema_migrations (version, applied_at) VALUES (46, ?)", timestamp);
1978
+ });
1979
+ const integrity = this.all("PRAGMA integrity_check");
1980
+ if (integrity.some((row) => row.integrity_check !== "ok")) {
1981
+ throw new Error(`数据库完整性检查失败:${integrity.map((row) => row.integrity_check).join(";")}`);
1982
+ }
1983
+ const foreignKeys = this.all("PRAGMA foreign_key_check");
1984
+ if (foreignKeys.length > 0)
1985
+ throw new Error(`数据库外键检查失败:发现 ${foreignKeys.length} 条异常记录`);
1986
+ }
1647
1987
  }
1648
1988
  normalizeCharacterName(value) {
1649
1989
  return value.normalize("NFKC").trim().replace(/\s+/gu, " ").toLocaleLowerCase("zh-CN");
@@ -1 +1 @@
1
- {"version":3,"file":"database.js","sourceRoot":"","sources":["../src/database.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"database.js","sourceRoot":"","sources":["../src/database.ts"],"names":[],"mappings":"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"}