@musnows/scriverse 0.5.2 → 0.5.4

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